我正在尝试使用以下代码将输出字符串写入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.doc'替换为'report.html'时,创建的html文件包含10个字符串的所有信息。
如何更改我的代码,以便它可以生成包含所有信息的word文档,就像创建的html文档一样?
答案 0 :(得分:1)
您需要使用.doc处理器java库。没有文字处理器库的帮助,你需要知道.doc文件的格式,只需要知道.html文件的结构。
Apache poi就是这种图书馆的一个很好的例子。
另一种方法是使用COM桥将MS Office库移植到Java库。我一直在使用商业工具。 JACOB似乎是Java-COM桥的开源示例,但我还没有测试过这个产品。