今天要做一个简单的页面表格导出。
简单呢主要是指,表格内容比较简单,只是单纯的有行、有列的表,且行、列不存在合并单元格的形式,并且表格不存在分页。
(不过分页貌似也好做啦~呵呵~)
大体上分为两种导出方式:
1.前台js导出
这种情况,由于需要创建ActiveObject对象,这个对象是调用本地的excel,因此需要降低IE的安全设置(允许未签名的ActiveObject运行)。且不同浏览器还需要不同的设置。
参考:http://www.cublog.cn/u/23292/showart.php?id=162129
2.后台生成excel并下载
这种方式不需要对浏览器进行设置,但是后台代码较多。
我使用的是struts2+poi的实现方式。
特别说明的是:
在生成excel的时候,其实是从后台又查询了一次结果从而生成的excel,而非将前台页面的结果传到后台进行生成。
自定义ExportExcelAction类代码:
其中,setModels模拟从数据库中取得的待导出excel的对象集合。
struts.xml中的设置: