2

我正在尝试使用以下代码将输出字符串写入 word 文档:

 try {
          out = new PrintWriter(new BufferedWriter(new FileWriter("report.doc", true)));
          out.println("<html><style>"+string1+"</style><table cellspacing = 0 cellpadding = 0><tr>" + string2 + "</html>" +  (char)12);
      } catch (IOException e) {
          JOptionPane.showMessageDialog(null,  "File error " + e.getMessage());
      } finally {
          if (out != null) {
              try {
                  out.close();
              } catch (Exception ignore) {
              }
          }
      }

如果这个方法被调用(比如说)10次,它只写第一个String的信息。但是,当我用“report.html”替换“report.doc”时,创建的 html 文件包含 10 个字符串的所有信息。

如何更改我的代码,以便它可以生成包含所有信息的 word 文档,就像创建的 html 文档一样?

4

1 回答 1

1

您需要使用 .doc 处理器 java 库。没有文字处理器库的帮助,你需要知道 .doc 文件的格式,只知道 .html 文件的结构。

Apache poi就是这样一个库的一个很好的例子。

另一种方法是使用 COM 桥将 MS Office 库移植到 java 库。为此,我一直在使用商业工具。JACOB似乎是 Java-COM 桥的开源示例,尽管我没有测试过这个产品。

于 2014-01-05T22:31:32.390 回答