iReport+Jasper 导出 Word文档

wp562846864 2014-04-17 04:52:09
本人刚刚学习iReport,发现使用如下代码确实可以根据模板导出想要的文档格式,可是Word文档不尽人意啊,所以特来求救!
private void generateReportByMap(){
// 通过URL获取模板
File reportTemplate = new File("D:/Myeclipse/Learn/Report/mapReport/test.jasper");
// 设置文件路径与名称
String filePath = reportTemplate.getParent();
String fileName = reportTemplate.getName().split("\\.")[0];
// 初始化传入iReport模板的Map参数
HashMap<String,String> parameterMap = new HashMap<String,String>();
parameterMap.put("name", "Maven");
parameterMap.put("desc",null);
// 创建空的数据源
JRDataSource dataSource = new JREmptyDataSource();
try {
// 通过模板、Map参数、数据源 创建Jasper对象,使用这个对象可以创建导出各种格式文件的实例对象
JasperPrint jasperPrint = JasperFillManager.fillReport(reportTemplate.getPath(),parameterMap, dataSource);
// 通过Jasper对象创建指定的Excel文件导出对象
JExcelApiExporter exporter = new JExcelApiExporter();
// 设置导出文件的相关信息,并且导出文件在指定目录下(在这里指reportName所指的的目录)
String reportName = filePath+"\\"+fileName+".xls";
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,reportName);
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.exportReport();

reportName = filePath+"\\"+fileName+".html";
JasperExportManager.exportReportToHtmlFile(jasperPrint, reportName);

reportName = filePath+"\\"+fileName+".pdf";
JasperExportManager.exportReportToPdfFile(jasperPrint, reportName);

reportName = filePath+"\\"+fileName+".html";
JRHtmlExporter htmlReport = new JRHtmlExporter();
htmlReport.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,reportName);
htmlReport.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
htmlReport.exportReport();

reportName = filePath+"\\"+fileName+".pdf";
JRPdfExporter pdfReport = new JRPdfExporter();
pdfReport.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,reportName);
pdfReport.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
pdfReport.exportReport();


reportName = filePath+"\\"+fileName+".doc";
JRRtfExporter docReport = new JRRtfExporter();
docReport.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,reportName);
docReport.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
docReport.exportReport();

} catch (JRException e) {
e.printStackTrace();
}
}
但是Word文档的格式与其他文档的格式明显不一样(其他文档都能够横向拖动,所以模板过多的[列在文档中都能够呈现,但是Word不行,那么如何才能避免这个问题),希望有人能够帮助。
...全文
700 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kongjiaju0729 2015-05-02
  • 打赏
  • 举报
回复
不同的软件可能不同吧,一般都会很方便的。就拿我用的这款报表系统finereport来说,在设计报表模板时,​设计器里可以从模板->模板导出里进行,BS端浏览报表时,可以直接从页面上方的工具栏选择输出,然后也可以选择不同的文件格式进行导出。
wp562846864 2014-09-18
  • 打赏
  • 举报
回复
分数是给你了,希望你能解答问题!!!Word和iReport一样的效果
Defonds 2014-04-17
  • 打赏
  • 举报
回复
你是想 word 里也和 iReport 的效果一样?

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧