最近在做财务方面的报表,自然也就需要导出excel,看了网上的一些方案,比如poi,或是active控件,不是浏览器限制就是写起来复杂,要引进一大堆jar包,还不公用。最后借鉴了以下两篇:
http://www.oschina.net/question/12_638
http://blog.csdn.net/jackyyen/article/details/4584987
项目用的是springmvc3,没有webwork,struts2之类
1.首先是配置文件
<beans:bean id="freemarkerViewResolver"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<beans:property name="order" value="1" />
<beans:property name="prefix" value="/WEB-INF/freemarker/views/" />
<beans:property name="suffix" value=".ftl" />
<beans:property name="contentType" value="text/html; charset=UTF-8" />
<beans:property name="exposeRequestAttributes" value="false" />
<beans:property name="exposeSessionAttributes" value="false" />
<beans:property name="exposeSpringMacroHelpers" value="true" />
</beans:bean>
<beans:bean id="ExcelViewResolver"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<beans:property name="order" value="2" />
<beans:property name="prefix" value="/WEB-INF/freemarker/views/" />
<beans:property name="suffix" value=".xtl" />
<beans:property name="contentType" value="application/vnd.ms-excel" />
<beans:property name="exposeRequestAttributes" value="false" />
<beans:property name="exposeSessionAttributes" value="false" />
<beans:property name="exposeSpringMacroHelpers" value="true" />
</beans:bean>
2.java代码
/**
* @author lip 创建于 2012-7-24
*
*/
@Controller
public class ExportExcelAction {
@RequestMapping(value = "/exportexcel")
public String exportExcel(String excelContent,Model model, HttpServletRequest request,
HttpServletResponse response)
{
Date now = new Date();
//根据时间生成文件名
response.setHeader("Content-disposition","inline; filename="+now.getTime()+".xls");
model.addAttribute("excelContent", excelContent);
return "excel/export";
}
}
3.ftl代码
<table width="100%" border="1" cellspacing="0" cellpadding="0" style="border-collapse:collapse">
${excelContent}
</table>
4.很多页面的table都需要导出功能,所以做成了宏
<#macro excelDiv>
<form id="excelForm" action="exportexcel" method="post">
<textarea style="display:none" id="excelContent" name="excelContent">
</textarea>
</form>
<script>
$(function(){
var content = $('table.table').html();
$('#excelContent').text(content);
});
</script>
</#macro>
5.页面使用时,加个导出按钮,和上面那个宏
<a class="icon" href="javascript:$('#excelForm').submit()"><span>导出EXCEL</span></a>
<table class="table" width="100%" layoutH="138">
……
需要导出的表内容
……
</table>
<@excelDiv/>
测试了一下120条记录导出也很流畅,chrome,ff都没什么问题,ie9最后一行会不全……什么都不想说了
分享到:
相关推荐
Java程序集成freemarker导出Excel、Word、HTML的demo工程
采用freemarker技术、实现导出excel示例
Freemarker导出带图片Excel,文章教程讲解:https://blog.csdn.net/x541211190/article/details/105675771 可以边看教程边使用,代码真实可用。我最近优化了一下,支持了xlsx格式导出。将原来的下线了。这个是最新版...
用freemarker 来导出Excel 会简单很多。并且可以导出各种复杂表格,本示例带单元格内换行功能,项目中亲测可以使用,欢迎大家下载使用!
使用Freemarker导出复杂Excel示例,比如合并行等,导出图片等。 参考文档见博客。
Freemarker实现excel导出功能,有例子
jxls 基于模版导出excel 基于freemarker 导出excel jxls-core-1.0.jar jxls-reader-1.0.jar
自己用servlet+freemarker写的,非常容易运行,代码解压之后,需要您自己修改下数据源配置并且建表就可以用
poi动态生成excel中下拉菜单,动态数据源,支持2003版本和2007版本
freemarker生成excel、word、html、xml简单例子
1. 使用Apache POI 3.9 自定义样式导出Excel文件; 2. 使用freemarker动态生成word .doc文档(带图片Word以及复杂格式word) 详细说明见个人博客及 github: https://github.com/DuebassLei/excel-poi
1.FreeMarker整合EasyUI实现数据分页展示 2.IDEA+Springboot+gradle框架 3.Jxls导出数据到Excel 4.logback整合logstash
使用freemarker导出excel、word和pdf的文件
使用itextpdf将html模板生成pdf文档,poi导出excel,freemarker导出excel,pdf添加文字水印。
这是一个MyEclipse项目,如果用是用其它开发工具则可在工具中新建一个项目把源码与第三方包拷出放入新建项目就可,有样例和详细注释。
文件为FreeMarker导出Excel一份demo,提供了一个通用工具类ExcelUtils,项目为Springboot的一个Maven工程(不要在意项目名称),其它项目通用,把文件考过去就行了。具体请参考我的博客...
Java语言利用POI读取excel文档,利用Freemarker建立word模板(带图片),excel每一行数据生成单个word文档,再利用POI合并成一个word文档(源码); 博客地址:...
freemarker模版导出,支持各类模版word、xml、excel等
通过反射获取类元数据,结合模板生成代码。修改资源路径可直接运行