将数据导出到Servlet中的MS Word(.doc)?

时间:2013-05-29 01:34:48

标签: java servlets export-to-word

我正在servlet中创建一个导出屏幕,其中用户可以使用搜索功能并以Ms Word(.doc)格式获得结果。  我尝试从数据库查询数据并使用

直接创建.doc文件
  • Apache POI
  • Docx4j

但我面对make输出文件的复杂性。

我想知道,有什么方法可以在高级中创建模板文件,并将数据填写到模板以创建输出.doc文件并流式传输到客户端或从其他格式转换为Doc文件,如:HTML档案等?

先谢谢!

1 个答案:

答案 0 :(得分:0)

使用JasperReports和iReport。

http://www.jaspersoft.com/

虽然我坚持使用PDF,但它可以导出为“HTML,PDF,Excel,OpenOffice和Word”。

我很想知道是否有其他方法可以制作可推广的报告模板。

如果您只想生成一个word文件,最简单的方法是骗取浏览器并输出报告的HTML版本并伪装成word文档。然后:

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

浏览器会将文件传递给文件到任何句柄.doc文件,MS Word和OpenOffice编写器都足够聪明,可以识别.doc文件实际上包含HTML。如果你给它一个“.html”扩展名,一些浏览器只显示内容。