翻译表格模板 chimm.excel: chimm
日期:2023-03-11 12:39:36 / 人气: 909 / 发布者:成都翻译公司
模板驱动的,需要在模版里填写变量名称,而并非在程序中添加注解。导出,基本上只能导出简单的表格样式。模板,所以可以导出一些比较复杂的表格样式。是一个强大的跨语言语法解析器,可以用来读取、处理、执行或翻译结构化文本或二进制文件。模板文件:表格处理对象页表格、填充模板数据、导出二进制等功能,下面我将详细的介绍主要的方法。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
- 翻译的保密协议模板 翻译保密合同书.docx 4页2023-03-11
- 翻译模板阅读方向是 思维导图之语文小说阅读答题模板大全2023-03-11
- 护照里的注意事项翻译模板 护照翻译公司2023-03-11
- 西班牙签证房产证翻译模板 西班牙旅游签证须知2023-03-11
- 硕士研究生学位证书翻译模板 “硕士学位”用英语怎么说,“硕士研究生入学考试”的官方英语翻译怎么说?2023-03-11
- 申根签证户口本翻译模板 意大利(申根签)签证办理注意事项!建议自己办理!2023-03-11
- 就业协议书模板翻译 校企合作就业协议书模板3篇2023-03-11
- 高考英语作文必背模板翻译 高中高考英语作文范文加翻译2023-03-11
- 新西兰签证户口本翻译模板 [广州送签]新西兰旅游签证 (电子签/贴纸签+3个月至5年多次签证+高出签率+一2023-03-11
- 申根签房产证明翻译模板 加拿大个人旅游签证,多次往返图文详细攻略。邮寄申请2014.72023-03-11


