使用Java代码将HTML报告导出到MS Word中

时间:2012-06-28 03:31:22

标签: java jsp struts1

我在struts1做一个项目。有一个小问题。

我有一份HTML报告,我需要将其导出到MS Word文档并打印出来。我该怎么做?

2 个答案:

答案 0 :(得分:2)

您可以考虑使用Apache POI以Microsoft字词输出报告。您还可以参考this link查看如何使用Apache POI完成。一个基本思想是,在扩展Action的类中,使用HttpServletResponse输出文件。例如:

String filename = "words.doc";
p_response.setContentType("application/msword");
p_response.setHeader("Content-disposition",
"Attachment; filename=" + filename);
祝你好运!

答案 1 :(得分:1)

将报告写成简单明了的HTML。然后,谎言到浏览器:

response.setHeader("Content-Disposition", "attachment; filename=\""
            + reportName + ".doc\"");
response.setContentType("application/msword");

report.writeTo(response.getOutputStream()); // Actually writes HTML, not doc.

浏览器将假定它是一个Word文档,并询问用户如何打开它(即使用MS Word或OpenOffice)。 MS Word和OpenOffice都非常聪明,不会被.doc文件的HTML内容所迷惑,并且会打开它供用户编辑。

如果只打印报告,我建议导出PDF,可能使用JasperReports,或者只是给用户提供一个纯HTML页面进行打印。