0

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

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

4

2 回答 2

2

您可以考虑使用Apache POI以 Microsoft Word 格式输出您的报告。您也可以参考这个链接来了解它是如何使用 Apache POI 完成的。一个基本的想法是,在您扩展 Action 的类中,使用 HttpServletResponse 输出文件。例如:

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

祝你好运!

于 2012-06-28T03:42:44.490 回答
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 页面进行打印。

于 2013-06-13T00:00:16.223 回答