Chimm.Excel —— 设置模板,填充数据,就完事儿了~
_____ _ _ _____ _ / __ \ | (_) | ___| | | | / \/ |__ _ _ __ ___ _ __ ___ | |____ _____ ___| | | | | '_ \| | '_ ` _ \| '_ ` _ \ | __\ \/ / __/ _ \ | | \__/\ | | | | | | | | | | | | | |_| |___> < (_| __/ | \____/_| |_|_|_| |_| |_|_| |_| |_(_)____/_/\_\___\___|_|目录- Chimm.Excel —— 设置模板,填充数据,就完事儿了~
- 1. 项目介绍
- 1.1 项目简介
- 1.2 项目地址
- 2. 功能展示
- 2.1 demo文件演示
- 2.2 详细操作说明
- 3. 起步
- 4. 参与贡献
- 5. 联系作者
- 6. 开源协议
- 1. 项目介绍
1. 项目介绍
1.1 项目简介
Chimm.Excel是什么?
该程序是一个基于 Apache POI 和 Antlr4 打造的 excel 生成的 Java 工具,主要作用在于减少了开发人员通过程序生成表格的工作量,提高了工作效率。Chimm.Excel的优势是什么?- 和网上部分的开源软件的区别是,该程序是基于 excel 模板进行工作的,并非基于注解。也就是说,我们首先需要在 office 中编写好我们的 excel 模板才行,优势在于,我们可以直接在 office 中就直接定制化表格的样式,也就是说,样式直接由 excel 软件进行控制了,这大大降低了我们在程序中操作样式的时间。
- 由于该程序是基于
Antlr4进行开发的,所以在变量定义上面,非常的灵活,我们可以定义集合变量,甚至我们还可以在公式中定义变量。一个表格对应一个数据对象,开发人员只需查询数据、组装数据即可。 - 可以自定义模板样式,该程序也提供了部分操作表格样式的功能,如:复制一行、合并单元格、更改边框样式等等。
- 主要的重点功能暂时介绍这么多,这些功能基本能解决绝大部分问题了。如果各位遇到了其他需要解决的应用场景,欢迎评论提出
issue,我们一起探讨。
excel 模板如何生成?
模板生成非常的简单,我们定义变量的时候,只需要使用$+大小括号包围的形式即可,如:${school.name}。Chimm.Excel功能简介(v1.0)- [x] 导出excel二进制文件
- [x] 根据模板中的变量,将值写入
- [x] 支持公式
- [x] 支持带变量的公式,如:
SUM(A1,A2,${demo.value})
- [x] 支持带变量的公式,如:
- [x] 操作表格添加/减少行
- [x] ⭐️添加行会自动更新公式
- [x] 合并单元格
- [x] 更改单元格边框样式(加粗、虚线等)
1.2 项目地址
- GitHub:https://github.com/chimmhuang/chimm.excel
- 码云:https://gitee.com/chimmhuang/chimm.excel
2. 功能展示
2.1 demo文件演示
模板文件:
处理后的文件:
我提供了一个 demo 测试类。
模板具体位置: src/test/resources/demo.xlsx
测试类的具体位置:src/test/java/../demo/Demo.java
2.2 详细操作说明
- wiki(GitHub):点击前往
- wiki(码云):点击前往
- 我在
src/test/java/../demo/Demo.java中,写了一个测试方法,该方法几乎包含了最常用的方法,可以提供参照。
3. 起步
- 配置模板
我在该项目中提功能 demo 使用的模板,基本满足绝大部分场景:src/test/resources/demo.xlsx - 导入坐标
<dependency> <groupId>com.github.chimmhuang</groupId> <artifactId>chimm.excel</artifactId> <version>1.0</version></dependency>- 入门程序
@Testpublic void testFillInTable() throws Exception { // 获取文件的二进制 File file = new File("src/test/resources/demo.xlsx"); byte[] bytes = FileUtils.readFileToByteArray(file); // 通过 ExcelHelper 获取 excel 表格对象 ExcelWorkbook excelWorkbook = ExcelHelper.createWorkbook(bytes); // 获取指定的 sheet 页 SheetTable table = excelWorkbook.getSheet(0); // 封装表格数据对象 SchoolReportData tableData = new SchoolReportData(); // ... 填充数据 ... tableData.setTitle("xx中学成绩单"); // ... 省略了添加数据的代码 ... // 将封装好的表格对象,填充到 excel 表格中 ExcelHelper.fillInData(table, tableData); // 将表格对象转换为二进制,resultBytes 即是最终想要的结果 byte[] resultBytes = ExcelHelper.convert2Byte(table);}4. 参与贡献
非常欢迎你的加入!提一个 Issue 或者提交一个 Pull Request。
5. 联系作者
QQ & 微信:905369866email:chimmhuang@163.com
6. 开源协议
Apache 2.0 © Chimm Huang
原文转载:http://www.shaoqun.com/a/481392.html
转口贸易:https://www.ikjzd.com/w/1427
ifttt:https://www.ikjzd.com/w/956
易麦:https://www.ikjzd.com/w/2048
Chimm.Excel——设置模板,填充数据,就完事儿了~ _____________/__\|(_)|___||||/\/|_______________||____________|||||'_\||'_`_\|'_`_\|__\\//__/_\||\__/\||||||||||||||_||___><(_|__/|\____/_||_|_|_||_|
vincent:https://www.ikjzd.com/w/1642
雨果:https://www.ikjzd.com/w/1307
深圳有哪些旅游景点?:http://tour.shaoqun.com/a/323.html
丽江自助游多少钱?:http://tour.shaoqun.com/a/4497.html
香港九月份天气如何?穿什么衣服好?:http://tour.shaoqun.com/a/44943.html
没有评论:
发表评论