翻譯表格模板 chimm.excel: chimm
日期:2023-03-11 12:39:36 / 人氣: 869 / 發(fā)布者:成都翻譯公司
模板驅(qū)動(dòng)的,需要在模版里填寫(xiě)變量名稱(chēng),而并非在程序中添加注解。導(dǎo)出,基本上只能導(dǎo)出簡(jiǎn)單的表格樣式。模板,所以可以導(dǎo)出一些比較復(fù)雜的表格樣式。是一個(gè)強(qiáng)大的跨語(yǔ)言語(yǔ)法解析器,可以用來(lái)讀取、處理、執(zhí)行或翻譯結(jié)構(gòu)化文本或二進(jìn)制文件。模板文件:表格處理對(duì)象頁(yè)表格、填充模板數(shù)據(jù)、導(dǎo)出二進(jìn)制等功能,下面我將詳細(xì)的介紹主要的方法。excel對(duì)象表格對(duì)象導(dǎo)入模板,導(dǎo)出結(jié)果表格Chimm.Excel —— 設(shè)置模板,填入數(shù)據(jù),就這樣~
碼云 | GitHub
1. 項(xiàng)目簡(jiǎn)介1.1 簡(jiǎn)介
什么是 Chimm.Excel?該程序是一個(gè)用Java編寫(xiě)的Excel生成工具,基于模板操作,簡(jiǎn)單、快速、易用。
1.2 特點(diǎn)
數(shù)據(jù)組裝很不一樣
與網(wǎng)上的一些開(kāi)源軟件不同的是,這個(gè)程序是由excel模板驅(qū)動(dòng)的,需要在模板中填寫(xiě)變量名,而不是在程序中添加注釋。
為什么不使用基于注釋的方法?
網(wǎng)上一些基于注解的excel導(dǎo)出,基本只能導(dǎo)出簡(jiǎn)單的表格樣式。該程序使用excel模板,因此可以導(dǎo)出一些更復(fù)雜的表格樣式。
螞蟻4
Antlr(ANother Tool for Language Recognition)是一個(gè)強(qiáng)大的跨語(yǔ)言語(yǔ)法解析器,可用于讀取、處理、執(zhí)行或翻譯結(jié)構(gòu)化文本或二進(jìn)制文件。它被廣泛用于構(gòu)建語(yǔ)言、工具和框架。Antlr 可以在語(yǔ)法上生成一個(gè)可以構(gòu)建和遍歷解析樹(shù)的解析器。由于程序是基于Antlr4開(kāi)發(fā)的,所以在變量的定義上非常靈活。我們可以定義集合變量,甚至可以在公式中定義變量。一張表對(duì)應(yīng)一個(gè)數(shù)據(jù)對(duì)象,開(kāi)發(fā)者只需要查詢(xún)數(shù)據(jù),組裝數(shù)據(jù)即可。
如何生成excel模板?
模板生成非常簡(jiǎn)單。我們?cè)诙x變量的時(shí)候翻譯表格模板,只需要使用$+括號(hào)括起來(lái)的形式翻譯表格模板,比如:${school.name}。
Chimm.Excel 函數(shù)介紹
根據(jù)模板中的變量,將值寫(xiě)入支持公式操作表中添加/減少行合并單元格(支持批量合并)更改單元格邊框樣式(粗體、虛線(xiàn)等)支持設(shè)置超鏈接(v1.2.0)2. 功能展示
我提供了一個(gè)演示測(cè)試類(lèi)。
模板具體位置:src/test/resources/demo.xlsx
測(cè)試類(lèi)的具體位置:src/test/java/../demo/Demo.java
模板文件:
處理后的文件:
3. 項(xiàng)目結(jié)構(gòu)
.com.github.chimmhuang └── excel ├── ExcelHelper.java 整個(gè)程序的主入口 ├── exception 自定義異常 ├── parser Antlr4解析文件 └── tablemodel 表格相關(guān)的類(lèi)
3.1 ExcelHelper-表處理對(duì)象
這個(gè)對(duì)象是整個(gè) Chimm.Excel 程序的主入口。提供創(chuàng)建excel工作簿、獲取工作表頁(yè)面、填寫(xiě)模板數(shù)據(jù)、導(dǎo)出二進(jìn)制數(shù)據(jù)等功能。下面我將詳細(xì)介紹主要方法。
3.2 ExcelWorkbook-excel 對(duì)象
這個(gè)對(duì)象對(duì)應(yīng)整個(gè)excel文件,包括sheet頁(yè)的所有table對(duì)象?,F(xiàn)階段這個(gè)對(duì)象的實(shí)際使用場(chǎng)景并不是太多,所以提供的方法比較少
3.3 SheetTable-table 對(duì)象
該對(duì)象對(duì)應(yīng)于工作表頁(yè)面上的表格。提供了一些操作表格樣式的方法
3.4 Row-Row 對(duì)象
這個(gè)對(duì)象對(duì)應(yīng)的是excel的行,并提供了一些對(duì)該行進(jìn)行操作的方法
3.5 Cell-cell 對(duì)象
該對(duì)象對(duì)應(yīng)于excel的單元格。提供了一些cell操作的方法
4. 使用說(shuō)明 4.1 配置模板
對(duì)于模板配置,使用美元符號(hào)和大括號(hào)來(lái)定義變量,例如:${demo.value}。
本項(xiàng)目中我用于功能demo的模板基本滿(mǎn)足大部分場(chǎng)景:src/test/resources/demo.xlsx
4.2 導(dǎo)入坐標(biāo)
com.github.chimmhuang chimm.excel 1.4.1
4.3 功能介紹4.3.1 導(dǎo)入模板,導(dǎo)出結(jié)果表
4.3.2 設(shè)置公式
public void testFillInTable() throws Exception { /* 獲取文件的二進(jìn)制 通過(guò) ExcelHelper 獲取 excel 表格對(duì)象 ... */ // 獲取指定的 sheet 頁(yè)(該對(duì)象即是我們?cè)O(shè)置好的表格模板) SheetTable table = excelWorkbook.getSheet(0); // 給表格的 第13行 第A列 設(shè)置公式 Row row13 = table.getRow(13).getCell("A").setFormula("SUM(A1,A2,${demo.value})"); }
4.3.3 加行/減行
public void testFillInTable() throws Exception { /* 獲取文件的二進(jìn)制 通過(guò) ExcelHelper 獲取 excel 表格對(duì)象 ... */ // 獲取指定的 sheet 頁(yè)(該對(duì)象即是我們?cè)O(shè)置好的表格模板) SheetTable table = excelWorkbook.getSheet(0); // 獲取第13行 Row row13 = table.getRow(13); // 將 rowNum 大于 13 的都刪除,進(jìn)行動(dòng)態(tài)表格添加 table.removeRowGE(13); // 復(fù)制行 Row copy1 = row13.copy(); Row copy2 = row13.copy(); // 設(shè)置新的值 copy1.getCell("A").setValue("copy1"); copy2.getCell("A").setValue("copy2"); // 設(shè)置完畢后,添加進(jìn)表格 table.appendRow(copy1); table.appendRow(copy2); }
4.3.4 個(gè)合并單元格
public void testFillInTable() throws Exception { /* 獲取文件的二進(jìn)制 通過(guò) ExcelHelper 獲取 excel 表格對(duì)象 ... */ // 獲取指定的 sheet 頁(yè)(該對(duì)象即是我們?cè)O(shè)置好的表格模板) SheetTable table = excelWorkbook.getSheet(0); // 合并單元格,【此處僅展示功能,需要合并的 rowNum 建議動(dòng)態(tài)計(jì)算】 table.mergeCell(13, 15, "A", "A"); table.mergeCell(16, 19, "A", "A"); }
4.3.5 粗體單元格邊框
public void testFillInTable() throws Exception { /* 獲取文件的二進(jìn)制 通過(guò) ExcelHelper 獲取 excel 表格對(duì)象 ... */ // 獲取指定的 sheet 頁(yè)(該對(duì)象即是我們?cè)O(shè)置好的表格模板) SheetTable table = excelWorkbook.getSheet(0); // 設(shè)置指定行的單元格樣式,【此處僅展示功能:加粗,rowNum 建議動(dòng)態(tài)計(jì)算】 table.getRow(19).setBorderStyle(BorderPositionEnum.BOTTOM, BorderStyle.MEDIUM); }
4.3.6 設(shè)置超鏈接
public void testFillInTable() throws Exception { /* 獲取文件的二進(jìn)制 通過(guò) ExcelHelper 獲取 excel 表格對(duì)象 ... */ // 獲取指定的 sheet 頁(yè)(該對(duì)象即是我們?cè)O(shè)置好的表格模板) SheetTable table = excelWorkbook.getSheet(0); // 設(shè)置超鏈接 table.getRow(2).getCell("A").setHyperlinkURL("https://www.baidu.com"); }
5. 參與投稿
非常歡迎您的加入!提出問(wèn)題或提交拉取請(qǐng)求。
6. 聯(lián)系作者
- 上一條加拿大網(wǎng)簽房產(chǎn)證翻譯模板 加拿大留學(xué)簽證選擇紙簽還是網(wǎng)簽?
- 下一條護(hù)士執(zhí)業(yè)證書(shū)翻譯模板 上海護(hù)士執(zhí)業(yè)注冊(cè)申請(qǐng)須知
相關(guān)閱讀Relate
熱門(mén)文章 Recent
- 金融學(xué)成績(jī)單翻譯模板 如何翻譯出國(guó)留學(xué)成績(jī)單?2023-03-11
- 模板的法語(yǔ)翻譯 法語(yǔ)翻譯機(jī)器2023-03-11
- 加拿大簽證材料房產(chǎn)證翻譯模板 加拿大學(xué)習(xí)簽證網(wǎng)上申請(qǐng)文件要求2023-03-11
- 愛(ài)爾蘭護(hù)照模板翻譯 菲律賓護(hù)照雙認(rèn)證2023-03-11
- 省三好學(xué)生證書(shū)翻譯模板 大學(xué)生簡(jiǎn)歷模板2023-03-11
- 馬里蘭大學(xué)學(xué)位證書(shū)翻譯模板 學(xué)位學(xué)歷證書(shū)的英譯版2023-03-11
- 英語(yǔ)4級(jí)翻譯模板 四級(jí)英語(yǔ)作文萬(wàn)能模板和翻譯-英語(yǔ)4級(jí)作文模板。2023-03-11
- 澳洲簽證翻譯件模板 2016年澳大利亞出入境卡范本,澳洲入境卡填寫(xiě)樣本2023-03-11
- 英國(guó)居留證翻譯模板 英國(guó)旅游簽證戶(hù)口本翻譯模板2023-03-11
- 英語(yǔ)道歉信模板加翻譯 英語(yǔ)道歉信范文帶翻譯3篇2023-03-11