Freemarker导出复杂Excel教程


简介

对于导出excel我一直以为用poi、jxt、easyExcel的实现就够了,直到接触了freemakre-excel以后,我才发现我错了,原来还有一种实现比前两者都更简单、便捷。

原作者:csdn 大脑补丁

原作者教程:https://blog.csdn.net/x541211190/article/details/105629749

freemarker页面函数语法地址:http://blog.csdn.net/u010722643/article/details/41720517,也可以去官网:http://freemarker.foofun.cn/ref_directives.html

maven项目引入:

<dependency>
  <groupId>cn.eonml</groupId>
  <artifactId>freemarker-excel</artifactId>
  <version>0.1.6</version>
</dependency>


简单使用方法: 使用office软件编写复杂模板 然后导出为xml 将此xml文件 应用到freemarker模板里 我们将自动使用freemarker渲染数据 并读取渲染数据过后的xml文件 使用poi将xml数据导出到新的excel文件

简单实示例: 示例程序:https://github.com/yongjiu8/freemarker-excel-test/tree/master

FreemarkerInput freemarkerInput = new FreemarkerInput();
    //设置freemarker模板路径
    freemarkerInput.setTemplateFilePath("/templates");
    //模板名字
    freemarkerInput.setTemplateName("template.ftl");
    //缓存xml路径
    freemarkerInput.setXmlTempFile("/templates/tmp");
    //缓存xml名字
    freemarkerInput.setFileName("tmpXml");
    //设置freemarker模板数据
    freemarkerInput.setDataMap(getData());

    //导出Excel到输出流(Excel2003版,xls格式)
    FreemarkerUtils.exportImageExcel("templates/success.xls", freemarkerInput);

    //导出Excel到输出流(Excel2007版及以上,xlsx格式)速度快
    FreemarkerUtils.exportImageExcelNew("templates/success.xlsx", freemarkerInput);

    //导出Excel到浏览器(Excel2003版,xls格式)
    FreemarkerUtils.exportImageExcel(HttpServletResponse , freemarkerInput);

    //导出Excel到浏览器(Excel2007版及以上,xlsx格式)速度快
    FreemarkerUtils.exportImageExcelNew(HttpServletResponse , freemarkerInput);

简单使用方法: 使用office软件编写复杂模板 然后导出为xml 将此xml文件 应用到freemarker模板里 我们将自动使用freemarker渲染数据 并读取渲染数据过后的xml文件 使用poi将xml数据导出到新的excel文件






免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM