工作中经常用到各种导出WORD、EXCEL、PPT所以做出了通用半自动化的功能,由实施人员去实施这些,可以不写代码实现所需业务的导出,下面简单介绍一下设计思路poi+freemarker+jacob+xml。
导出word设计思路:将word模板里需要插入动态数据的位置用_____(横线)代替,如果数据是图片的话需要插入一个空图片,然后另存为xml,打开xml,在使用${}参数的形式替换相应的横线,在程序里通过sql查询出数据,根据sql列别名使用freemarker将数据替换到模板的参数中。这种方式可以处理包含图片的多页复杂表格。
导出excel设计思路:将excel中需要插入动态数据的位置清空,然后在第一行的第一列中以逗号分割写入一个或是多个sql语句别名,然后隐藏第一行,在导出时候使用poi读入模板文件,将sql结果根据要插入位置的首行和首列以矩形的方式插入到excel中,实现导出结果,支持多个sheet页和一个sheet中的多个表格。
导出ppt设计思路:将ppt模板里需要插入动态数据的位置用${}参数替换,通过poi读入ppt模板,将普通${}参数通过poi来替换为sql查询的真实数据,针对包含excel数据表和图表的情况有2种解决方案,首先在ppt中插入excel对象做好图表模板:1.poi+aspose组件实现,将sql查询结果数据通过poi存入模板中,然后需要用aspose将数据集转换为图片流,再通过poi的刷新图片api存入。这样就可以完成正常的导出操作了,这种方式优点:支持线程并发、跨平台、性能好,缺点:java版收费、显示的图片内容偏小。2.poi+jacob+office宏组件实现,将sql查询结果数据通过poi存入模板中,然后通过jacob调用预先写好的office宏,宏内容就是自动点击ppt每个页面的图表相当于利用office自带的点击图片就能刷新图片功能实现图像的更新。这种方式的优点:免费、图片大小一致,缺点:只支持win系统、不支持多线程、服务器端需安装office2013并做一些设置、性能差。宏代码需要自己录制。
整合设计思路:可以将以上3个功能进行整合,做一个文件上传下载管理功能模块,然后每种导出模板文件对应的是2个文件,其中一个是word、excel、ppt其中一个模板,另外一个是写sql语句的xml文件,这个可以和valuelist组件整合或是自定义bean通过spring和xml整合,将1个模板对应的多个sql语句写在xml文件里,如果需要额外的一些设置可以扩展xml文件标签和对应的类属性。可以根据不同分类目录下上传的不同模板,根据数据库上传记录实现自动生成相对的导出页面功能。最终实现只需要改好导出的模板文件以及在xml模板中写sql就可以实现各种自已定义导出功能。省去了开发成本。
分享到:
相关推荐
Office Files Images v2.14 一键批量导出Word Excel PPT文件图片.rar
导出Excel功能,导出Excel功能,导出Excel功能,导出Excel功能
jsp导出Excel;简单实用!导出Excel;导出Word jsp导出Excel;简单实用!导出Excel;导出Word jsp导出Excel;简单实用!导出Excel;导出Word
在日常的开发工作中,我们时常会遇到导出Word文档报表的需求,比如公司的财务报表、医院的患者统计报表、电商平台的销售报表等等。 导出Word方式多种多样,通常有以下几种方式: 1. 使用第三方Java工具类库Hutool的...
asp.net导出万能Excel和word
springboot 导出excel 导入excel 生成excel 内容有点多 springboot 导出excel 导入excel 生成excel 内容有点多 springboot 导出excel 导入excel 生成excel 内容有点多 springboot 导出excel 导入excel 生成excel ...
.net mvc实现的导出word、excel和pdf的例子
将simulink示波器数据导出到excel表格教程将simulink示波器数据导出到excel表格教程将simulink示波器数据导出到excel表格教程将simulink示波器数据导出到excel表格教程将simulink示波器数据导出到excel表格教程将...
.NET 导出EXCLE WORD; DataTable ,datalist 等导出到EXCEL或word中
报表导出excel word pdf html java
javaScript写的方法,将html导出word和excel的详细例子。
Excel 通用导出 excel 文件
c# 导出到Excel (C#)c# 导出到Excel (C#)c# 导出到Excel (C#)c# 导出到Excel (C#)c# 导出到Excel (C#)c# 导出到Excel (C#)c# 导出到Excel (C#)c# 导出到Excel (C#)c# 导出到Excel (C#) winform
百分百一次成功,不会出现excel对象不能创建错误
亲测 poi 导出word 导出excel项目 导入 myeclipse 可运行
导出Excel和Word自定义导出原有的格式
CListCtrl控件 打印 导出到Excel-通用控件.rar CListCtrl控件 打印 导出到Excel-通用控件 在VC++6.0下编译通过,绝对可用,无错误
简单,易懂的ASP.NET Core NPOI导出复杂Word、Excel和Excel数据导入示例讲解
很好用,可以给刚入门的朋友一个参考!做一个很好的课外学习资料!
WinForm导出(word、Excel) WinForm导出(word、Excel) WinForm导出(word、Excel)