翻译表格模板 chimm.excel: chimm
日期:2023-03-11 12:39:36 / 人气: 908 / 发布者:成都翻译公司
模板驱动的,需要在模版里填写变量名称,而并非在程序中添加注解。导出,基本上只能导出简单的表格样式。模板,所以可以导出一些比较复杂的表格样式。是一个强大的跨语言语法解析器,可以用来读取、处理、执行或翻译结构化文本或二进制文件。模板文件:表格处理对象页表格、填充模板数据、导出二进制等功能,下面我将详细的介绍主要的方法。excel对象表格对象导入模板,导出结果表格Chimm.Excel —— 设置模板,填入数据,就这样~
码云 | GitHub
1. 项目简介1.1 简介
什么是 Chimm.Excel?该程序是一个用Java编写的Excel生成工具,基于模板操作,简单、快速、易用。
1.2 特点
数据组装很不一样
与网上的一些开源软件不同的是,这个程序是由excel模板驱动的,需要在模板中填写变量名,而不是在程序中添加注释。
为什么不使用基于注释的方法?
网上一些基于注解的excel导出,基本只能导出简单的表格样式。该程序使用excel模板,因此可以导出一些更复杂的表格样式。
蚂蚁4
Antlr(ANother Tool for Language Recognition)是一个强大的跨语言语法解析器,可用于读取、处理、执行或翻译结构化文本或二进制文件。它被广泛用于构建语言、工具和框架。Antlr 可以在语法上生成一个可以构建和遍历解析树的解析器。由于程序是基于Antlr4开发的,所以在变量的定义上非常灵活。我们可以定义集合变量,甚至可以在公式中定义变量。一张表对应一个数据对象,开发者只需要查询数据,组装数据即可。
如何生成excel模板?
模板生成非常简单。我们在定义变量的时候翻译表格模板,只需要使用$+括号括起来的形式翻译表格模板,比如:${school.name}。
Chimm.Excel 函数介绍
根据模板中的变量,将值写入支持公式操作表中添加/减少行合并单元格(支持批量合并)更改单元格边框样式(粗体、虚线等)支持设置超链接(v1.2.0)2. 功能展示
我提供了一个演示测试类。
模板具体位置:src/test/resources/demo.xlsx
测试类的具体位置:src/test/java/../demo/Demo.java
模板文件:
处理后的文件:
3. 项目结构
.com.github.chimmhuang └── excel ├── ExcelHelper.java 整个程序的主入口 ├── exception 自定义异常 ├── parser Antlr4解析文件 └── tablemodel 表格相关的类
3.1 ExcelHelper-表处理对象
这个对象是整个 Chimm.Excel 程序的主入口。提供创建excel工作簿、获取工作表页面、填写模板数据、导出二进制数据等功能。下面我将详细介绍主要方法。
3.2 ExcelWorkbook-excel 对象
这个对象对应整个excel文件,包括sheet页的所有table对象。现阶段这个对象的实际使用场景并不是太多,所以提供的方法比较少
3.3 SheetTable-table 对象
该对象对应于工作表页面上的表格。提供了一些操作表格样式的方法
3.4 Row-Row 对象
这个对象对应的是excel的行,并提供了一些对该行进行操作的方法
3.5 Cell-cell 对象
该对象对应于excel的单元格。提供了一些cell操作的方法
4. 使用说明 4.1 配置模板
对于模板配置,使用美元符号和大括号来定义变量,例如:${demo.value}。
本项目中我用于功能demo的模板基本满足大部分场景:src/test/resources/demo.xlsx
4.2 导入坐标
com.github.chimmhuang chimm.excel 1.4.1
4.3 功能介绍4.3.1 导入模板,导出结果表
4.3.2 设置公式
public void testFillInTable() throws Exception { /* 获取文件的二进制 通过 ExcelHelper 获取 excel 表格对象 ... */ // 获取指定的 sheet 页(该对象即是我们设置好的表格模板) SheetTable table = excelWorkbook.getSheet(0); // 给表格的 第13行 第A列 设置公式 Row row13 = table.getRow(13).getCell("A").setFormula("SUM(A1,A2,${demo.value})"); }
4.3.3 加行/减行
public void testFillInTable() throws Exception { /* 获取文件的二进制 通过 ExcelHelper 获取 excel 表格对象 ... */ // 获取指定的 sheet 页(该对象即是我们设置好的表格模板) SheetTable table = excelWorkbook.getSheet(0); // 获取第13行 Row row13 = table.getRow(13); // 将 rowNum 大于 13 的都删除,进行动态表格添加 table.removeRowGE(13); // 复制行 Row copy1 = row13.copy(); Row copy2 = row13.copy(); // 设置新的值 copy1.getCell("A").setValue("copy1"); copy2.getCell("A").setValue("copy2"); // 设置完毕后,添加进表格 table.appendRow(copy1); table.appendRow(copy2); }
4.3.4 个合并单元格
public void testFillInTable() throws Exception { /* 获取文件的二进制 通过 ExcelHelper 获取 excel 表格对象 ... */ // 获取指定的 sheet 页(该对象即是我们设置好的表格模板) SheetTable table = excelWorkbook.getSheet(0); // 合并单元格,【此处仅展示功能,需要合并的 rowNum 建议动态计算】 table.mergeCell(13, 15, "A", "A"); table.mergeCell(16, 19, "A", "A"); }
4.3.5 粗体单元格边框
public void testFillInTable() throws Exception { /* 获取文件的二进制 通过 ExcelHelper 获取 excel 表格对象 ... */ // 获取指定的 sheet 页(该对象即是我们设置好的表格模板) SheetTable table = excelWorkbook.getSheet(0); // 设置指定行的单元格样式,【此处仅展示功能:加粗,rowNum 建议动态计算】 table.getRow(19).setBorderStyle(BorderPositionEnum.BOTTOM, BorderStyle.MEDIUM); }
4.3.6 设置超链接
public void testFillInTable() throws Exception { /* 获取文件的二进制 通过 ExcelHelper 获取 excel 表格对象 ... */ // 获取指定的 sheet 页(该对象即是我们设置好的表格模板) SheetTable table = excelWorkbook.getSheet(0); // 设置超链接 table.getRow(2).getCell("A").setHyperlinkURL("https://www.baidu.com"); }
5. 参与投稿
非常欢迎您的加入!提出问题或提交拉取请求。
6. 联系作者
相关阅读Relate
热门文章 Recent
- 考研英语作文万能模板带翻译 还有40天考研,英语作文背模板还是范文?2023-03-11
- 英语四级万能模板及翻译 四级英语作文万能模板和翻译2023-03-11
- 翻译优秀简历模板 日语翻译优秀个人简历模板2023-03-11
- 四级翻译景区题模板 2019年6月英语四级翻译考试模拟题:旅游业2023-03-11
- 银行卡流水翻译模板 中国银行英文流水2023-03-11
- 结婚证翻译模板签证 结婚证翻译要翻译公司吗2023-03-11
- 内华达州结婚证翻译模板 美国结婚证认证回国如何办理?2023-03-11
- 电动车辆登记证翻译模板 电动车过户需要什么手续2023-03-11
- 车辆登记证的翻译模板 深港的办理,咨询2023-03-11
- 乌鲁木齐正规的商务合同翻译模板 翻译服务合同样本(合同示范文本)2023-03-11


