翻译表格模板 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

  • 法国签证营业执照翻译件模板 你与申根签证只有一条推送的距离
  • 江苏省增值税发票翻译模板 江苏税务局出口货物退(免)税申报管理系统软件
  • 肄业证书翻译模板 复旦大学学生学业证明文书管理细则(试行)
  • 四级英语作文模板带翻译 大学英语四级翻译模拟训练及答案
  • 社会某信用代码证翻译模板 js验证某社会信用代码,某社会信用代码 验证js,js+验证+社会信用代码证
  • 美国移民证件翻译模板 日语签证翻译聊聊身份证翻译模板
  • 翻译软件模板 人类史上*实用的的文档快速翻译指南
  • 江苏省增值税发票翻译模板 江苏出口货物退(免)税申报管理服务平台
  • 瑞士签证房产证翻译件模板 瑞士探亲签证—就读子女
  • 日语户口本翻译模板 户口本翻译价格_户口本翻译一般多少钱?
  • 翻译表格模板 chimm.excel: chimm www.chinazxzy.com/fymb/9907.html
    
    本站部分内容和图片来源于网络用户和读者投稿,不确定投稿用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的权利,请联系:chinazxzy@163.com,及时删除。
    Go To Top 回顶部
    • 扫一扫,微信在线