客户端Javascript-->;服务器端Java-->;向用户提供了一个.doc

客户端Javascript-->;服务器端Java-->;向用户提供了一个.doc,java,javascript,web-applications,Java,Javascript,Web Applications,我正在帮助某人开发基于javascript的web应用程序(尽管我对web开发几乎一无所知),我们不确定实现我们想要的功能的最佳方式 基本上,用户将使用我们的工具通过javascript查看表、列等中的各种无聊数据。我们希望实现一个功能,用户可以单击按钮或链接,然后允许用户下载.doc文件中显示的数据 到目前为止,我们的基本想法是: 单击链接时,使用作为字符串传递的所需数据在服务器上调用Java函数 在服务器上生成.doc文件 在客户端浏览器中自动“打开”指向文件的链接以启动下载 这可能吗?

我正在帮助某人开发基于javascript的web应用程序(尽管我对web开发几乎一无所知),我们不确定实现我们想要的功能的最佳方式

基本上,用户将使用我们的工具通过javascript查看表、列等中的各种无聊数据。我们希望实现一个功能,用户可以单击按钮或链接,然后允许用户下载.doc文件中显示的数据

到目前为止,我们的基本想法是:

  • 单击链接时,使用作为字符串传递的所需数据在服务器上调用Java函数
  • 在服务器上生成.doc文件
  • 在客户端浏览器中自动“打开”指向文件的链接以启动下载
这可能吗?若然,是否可行?或者,你能推荐一个更好的解决方案吗


编辑:数据不在服务器上;相反,它是从SQL数据库查询的

是的,这是可能的。你的救世主是上帝。它的HWPF库将帮助您使用java生成Microsoft word文件。剩下的只是HTTP的巧妙使用。

是的,这是可能的。你的救世主是上帝。它的HWPF库将帮助您使用java生成Microsoft word文件。剩下的就是HTTP的巧妙使用。

你的基本想法听起来有点鲁比·戈德伯格


服务器上是否存在文档中所需的数据?如果是这样,那么您只需显示一个普通的HTML链接,其中包含描述数据的GET参数(即从日期a到日期B的客户X数据)。该链接将由一个Servlet在服务器上处理,该Servlet获取数据并生成.DOC文件作为其输出供浏览器下载-这是一个非常简单的一步过程,甚至不涉及任何JavaScript。

你的基本想法听起来有点鲁比·戈德伯格


服务器上是否存在文档中所需的数据?如果是这样,那么您只需显示一个普通的HTML链接,其中包含描述数据的GET参数(即从日期a到日期B的客户X数据)。该链接将由一个Servlet在服务器上处理,该Servlet获取数据并生成.DOC文件作为其输出供浏览器下载-这是一个非常简单的一步过程,甚至不涉及任何JavaScript。

将大量数据作为GET/POST传递可能不是最好的主意。您只需传入之前用于生成HTML页面的相同参数。您甚至不需要使用第三方库来生成文档。您可以生成一个带有文档扩展名的普通旧HTML文件,Word会很乐意打开它。

以GET/POST的形式传递大量数据可能不是最好的主意。您只需传入之前用于生成HTML页面的相同参数。您甚至不需要使用第三方库来生成文档。您可以生成一个带有文档扩展名的普通旧HTML文件,Word会很乐意打开它。

听起来Java library可能会有所帮助-查看在线演示,因为它显示了与您要求的类似的内容-根据网页中的选择从网站生成一个真正的文档文件。Docmosis可以从数据库中查询并在几乎任何地方运行。

听起来Java库可能会有所帮助-查看在线演示,因为它显示了与您要求的类似的内容-根据网页中的选择从网站生成真实的文档文件。Docmosis可以从数据库中查询并在几乎任何地方运行。

您使用的是什么类型的web服务器?支持java的,我想您使用的是什么类型的web服务器?支持java的,我想这是一个很好的技巧:)但是现在文件格式不是真正的DOC,是吗:)这是个好主意,但是保持表的格式为真会很好,但是如果用户看到结果在Word中打开,没有人关心(根据经验)。我们在仅导出excel电子表格时也使用了相同的技巧-逗号-分号分隔符与csv中的不同没有问题。这是一个很好的技巧:)但文件格式现在不会是DOC,是吗:)这是个好主意,但保持表格格式为真会很好,但是如果用户看到结果以Word打开,没有人会在意(根据经验)。我们对仅导出excel电子表格采用了相同的技巧-逗号-分号分隔符与csv中的不同没有问题。这意味着服务器可以简单地再次运行相同的查询-它以前已经这样做过,直接访问数据库的不是javaScript,是吗?这意味着服务器可以简单地再次运行相同的查询-它以前已经这样做过,直接访问数据库的不是javaScript,是吗?