JAVA 使用FREEMARKER制作EXCEL
来源:互联网 发布:三国演义电视剧 知乎 编辑:程序博客网 时间:2024/06/06 18:16
背景:最近有一个需求要制作一个样式十分丰富的EXCEL,使用POI技术无法很好的满足需求,才开始使用了FREEMARKER制作,它不仅可以做EXCEL也可以做WORD。
需要的JAR:点我下载
下面先简单说下思路:
1.创建freemarker模版
2.代码中调用freemarker模版
3.为模版设置值
详解:
一.制作freemarker模版:
1.使用EXCEL制作如上图所示的模版,可以设置好模版的样式(颜色等),在需要设置值的地方使用${} 符号填充,freemarker会根据${}里面的变量找到这个单元格,然后用新的值将其替换。
2.将EXCEL另存为2003版本的xml格式,会弹出警告,选择'是'。
3.打开xml文件
找到刚刚写的${talkDate},这边要确定一下它是否还是${talkDate} 这个格式,因为有时候这个变量会被excel格式化掉。
4.将xml文件改为freemarker要求的ftl文件,只要将xml后缀名改为ftl就OK了。
5.使用java代码操作:
package com.nd.app;import java.io.BufferedWriter;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStreamWriter;import java.io.Writer;import java.util.HashMap;import java.util.Map;import freemarker.template.Configuration;import freemarker.template.Template;public class TestFreemakre {private static Configuration configuration = null;private static Template t = null;static {configuration = new Configuration();configuration.setDefaultEncoding("utf-8");try {// 设置模版存放地址configuration.setDirectoryForTemplateLoading(new File("/Users/JJC/Downloads/"));configuration.setDefaultEncoding("utf-8");// 读取模版t = configuration.getTemplate("project_talk_template.ftl");} catch (IOException e) {e.printStackTrace();throw new RuntimeException(e);} finally {}}public static void main(String[] args) throws Exception {try {Map<String, Object> wr = new HashMap<String, Object>();wr.put("talkDate", "111111111");wr.put("talkWay", "111111111");File outFile = new File("/Users/JJC/Downloads/111111.xls");FileOutputStream fos = new FileOutputStream(outFile);OutputStreamWriter oWriter = new OutputStreamWriter(fos, "UTF-8");Writer out = new BufferedWriter(oWriter); // 这边使用 new// FileWriter就不行,不知道为啥t.process(wr, out);out.close();fos.close();} catch (Exception e) {e.printStackTrace();}}}
注意:要替换的值不能是null,可以是空字符串。在xml里面可以使用if ,也能使用list循环。格式如:
<#if sheetType == 2>
阅读全文
0 0
- JAVA 使用FREEMARKER制作EXCEL
- java FreeMarker制作word
- java使用freemarker模版下载成Excel文件
- 使用freemarker制作邮件模版
- java freemarker使用demo
- java制作excel报表
- 另类:JAVA用freemarker生成复杂Excel。(freemarker)
- JAVA用freemarker生成复杂Excel。(freemarker)
- 另类:JAVA用freemarker生成复杂Excel。(freemarker)
- 使用freemarker生成复杂的excel表格
- JAVA用freemarker生成复杂Excel
- java 用freemarker生成Excel(未完成)
- java使用 freemarker 模板生成一个excel文件多个sheet
- java:使用freemarker操作word
- java 使用freemarker生成word
- Java使用freeMarker生成Word
- java使用freemarker导出word
- 使用Excel制作图表的实例教程 Excel图表制作大全
- El表达式、Jstl
- mongodb 创建数据库
- Dubbo环境搭建
- 第3周项目2
- MySQL数据库应用-从入门到精通配套视频、PPT、安装包与教程
- JAVA 使用FREEMARKER制作EXCEL
- 火车票上的星号暗藏玄机
- NP-Hard
- makefile 使用总结(精)
- java EE开发之Servlet第五课:xml解析
- 一些好用的css和js
- ubuntu16.04上基于 VirtualEnv 安装tensorflow
- 【Android】实现开7分钟后关3分钟无限循环
- hdu 3613 manacher算法