ftl模板导出excel_freemarker导出Excel
freemarker 导出Excel
原创 2015年10月23日 14:47:05
927
在项目开发中,导出Excel 是比较常见的功能, 以前用过POI导出Excel 文件, 但是POI 在使用方面比较麻烦, 而用freemarker 来导出Excel 会简单很多。
1. 创建Excel文件:student.xls ,你想生成什么样式的Excel 文件, 先做一个模板。
2. 另存为 xml 文件: studen.xml。
3. 将student.xml 文件,copy 到Eclipse中,进行格式化:Ctrl + Shift + F
4. 替换响应的部分:
【替换前】
【替换后】
5. 将studnet.xml 文件重命名为 freemarker 模板文件: student.ftl . 到此,导出excel 的模板文件就制作完成了。
7. 创建一个Student 类, 作为数据模型
public class Student {
private int id;
private String name;
private int grade;
private int cls;
private float english;
private float chinese;
private float math;
public Student(Integer id, String name, int grade, int cls, float english, float chinese, float math) {
super();
this.id = id;
this.name = name;
this.grade = grade;
this.cls = cls;
this.english = english;
this.chinese = chinese;
this.math = math;
}
public Student() {
super();
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
public int getCls() {
return cls;
}
public void setCls(int cls) {
this.cls = cls;
}
public float getEnglish() {
return english;
}
public void setEnglish(float english) {
this.english = english;
}
public float getChinese() {
return chinese;
}
public void setChinese(float chinese) {
this.chinese = chinese;
}
public float getMath() {
return math;
}
public void setMath(float math) {
this.math = math;
}
}
8. 写一个测试类,来生成Excel
import java.io.File;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import freemarker.template.Configuration;
import freemarker.template.Template;
public class Test_export_Excel {
/** 设置表格标题 */
private static List getTitles(){
List titles = new ArrayList<>();
titles.add("序号");
titles.add("姓名");
titles.add("年级");
titles.add("班级");
titles.add("语文");
titles.add("数学");
titles.add("英语");
return titles;
}
/** 设置表格内容 */
private static List getStudents(){
List students = new ArrayList<>();
for(int i=0; i<10; i++){
Student student = new Student(100 + i, "zong_"+i, 1+i, 2+i, 90+i, 80+i, 100-i);
students.add(student);
}
return students;
}
public static void main(String[] args) throws Exception{
//加载freemarker 模板,获取模板对象
Configuration cfg = new Configuration();
cfg.setDirectoryForTemplateLoading(new File("templates"));
Template studentTemplate = cfg.getTemplate("excel_student.ftl");
//设置表格标题和内容
List titles = getTitles();
List students = getStudents();
Map root = new HashMap();
root.put("titles", titles);
root.put("students", students);
File file = new File("D:/excel_students.xls");
FileWriter fw = new FileWriter(file);
//按照ftl 模板规定的样式,将root 对象里的内容写入新的文件
studentTemplate.process(root, fw);
fw.flush();
fw.close();
}
}
9. 生成效果图:
10. 项目包结构视图:
【注】 此种方式生成的Excel 只能用 excel 07 之后的版本打开,office 07 及之前的版本不能打开。
ftl模板导出excel_freemarker导出Excel相关推荐
- ftl模板导出excel_freemarker导出复杂Excel
原文: freemarker导出复杂Excel date: 2017-04-20 12:39:04 [TOC] 序言 用Freemarker做Excel导出确实很容易. 但是导出复杂Excel, 例如 ...
- ftl模板导出excel_freemarker导出定制excel
之前我们导excel大部分用的是jxl和poi,JXL只能对Excel进行操作,属于比较老的框架,它只支持到Excel 95-2000的版本.现在已经停止更新和维护 POI是apache的项目,可对微 ...
- ftl模板导出excel_使用freemark模板生成excel
1.背景 文件操作中导入导出功能在项目中十分常见,这里我们要聊的是导出excel这一功能.老话题常谈常新,小编给大家介绍使用freemark模板的方式导出excel. 2.实现 Demo中采用spri ...
- ftl模板导出excel_使用freemarker模板引擎导出word或excel文件(代码实现)
在项目中我们会遇到很多导入导出excel或者word 有时候一些比较复杂的表格设计用freemarker 来做为模板导出还是很不错的 具体操作 我们要针对该列表做数据导出模板 在桌面右键新建一个exc ...
- 无插件,无com组件,利用EXCEL、WORD模板做数据导出(一)
本次随笔主要讲述着工作中是如何解决数据导出的,对于数据导出到excel在日常工作中大家还是比较常用的,那导出到word呢,改如何处理呢,简单的页面导出问题应该不大,但是如果是标准的公文导出呢,要保证其 ...
- java导出数据到excel模板_springboot+jxls 根据Excel模板 填写数据并导出
项目结构 pom.xml net.sf.jxls jxls-core 1.0.6compile 学生信息表模板: ExcelUtiles package cn.bdqn.utils;import ne ...
- easypoi利用模板导出图片到Excel;解决easypoi导出图片到合并单元格单元格被拉伸的问题
easypoi的封装是非常好的,用起来很简单. 官方教程地址:http://easypoi.mydoc.io/ 但是在使用模板导出图片到合并单元格时出问题了,官网找了好几遍没找到方案. 其实官方早就实 ...
- SpringBoot使用EasyExcel 模板填充数据并导出,以及Excel导入解析入库
需求 1.导出Excel模板,第一个sheet为用户基本信息,默认只有表头,用户手动填写后续用来导入人员信息.第二个sheet为组织架构信息,默认从数据库查询组织信息,方便用户查询组织编码. 2.导入 ...
- php excel模板导出、openoffice excel转pdf、多文件压缩下载
最近两周都在弄关于excel模板导出.excel转pdf.多文件压缩下载.弄得头都大了,接下来说说实现的方法吧. 我用的是laravel5.1的框架,读取模板生成excel,并且插入图片,直接上代码 ...
最新文章
- Linux wc命令详解
- 使用pytorch建立LSTM神经网络训练识别手写数字
- 上传本地文件到gitlab 项目里的某个文件夹
- 如何为部署到 SAP BTP 平台上的 Node.js 应用提供Authorization 和 Trust 管理 - 权限管控
- 把日志文件从Linux服务器拷贝到Windows上
- FindBugs Maven插件教程
- HDU - 5878 A - I Count Two Three H 技巧枚举
- 自己定义html中a标签的title提示tooltip
- 如何使用Countifs函数动态统计
- 关于如何在Listener中注入service和ServletContextListener源码分析
- Docker跨服务器通信Overlay解决方案(上) Consul单实例
- ES6与ES2015、ES2016以及ECMAScript的区别
- QCustomplot绘图性能的改善
- 2019年网络工程师考试大纲
- APK瘦身实践之旅——启动篇
- a5解锁 oppo_oppoa5忘记密码了怎么强制解锁
- 赵小楼《天道》《遥远的救世主》深度解析(66)辩证思维的讨论:人性、教义、逻辑
- 【智能手环APP for Android 】01 百度地图展示行动轨迹
- 期货什么情况下会强制平仓
- EasyTest 接口自动化测试平台 搭建手顺