【问题标题】:Clientside Javascript --> Serverside Java --> user is served a .doc客户端 Javascript --> 服务器端 Java --> 为用户提供 .doc
【发布时间】:2009-06-17 11:34:21
【问题描述】:

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

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

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

  • 单击链接时调用服务器上的 Java 函数,并将所需数据作为字符串传入
  • 在服务器上生成 .doc 文件
  • 在客户端浏览器中自动“打开”文件链接以启动下载

这可能吗?如果可以,是否可行?或者,您能推荐一个更好的解决方案吗?

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

【问题讨论】:

  • 您使用的是什么类型的网络服务器?
  • 一个启用了 java 的,我想

标签: java javascript web-applications


【解决方案1】:

是的,有可能。你的救星是Apache POI library。它的 HWPF 库将帮助您使用 java 生成 Microsoft Word 文件。剩下的就是巧妙地使用 HTTP。

【讨论】:

    【解决方案2】:

    你的基本想法听起来有点像 Rube-Goldbergesque。

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

    【讨论】:

    • 这意味着服务器可以简单地再次运行相同的查询 - 它以前做过,不是直接访问数据库的 javaScript,是吗?
    【解决方案3】:

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

    【讨论】:

    • 这是一个不错的技巧 :) 但文件格式现在不会是 DOC 了吧 :)
    • 这是个好主意,但最好保持表格格式
    • 是的,但是如果用户看到在 Word 中打开的结果,没有人会在意(根据经验)。我们为仅导出 excel 电子表格做了同样的技巧 - 与 csv 不同,逗号-分号分隔符没有问题。
    【解决方案4】:

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

    【讨论】:

      猜你喜欢
      • 2017-05-19
      • 2019-09-22
      • 2011-06-09
      • 1970-01-01
      • 1970-01-01
      • 2017-06-19
      • 1970-01-01
      • 2016-04-09
      • 1970-01-01
      相关资源
      最近更新 更多