一插菊花综合网,丝袜美腿亚洲熟女 国产,成人天堂资源www在线,骚妇内射图

翻譯表格模板chimm.excel:chimm

sw

Chimm.Excel —— 設(shè)置模板,填入數(shù)據(jù),就這樣~

碼云 | GitHub

1. 項目簡介1.1 簡介

什么是 Chimm.Excel?該程序是一個用Java編寫的Excel生成工具,基于模板操作,簡單、快速、易用。

1.2 特點

數(shù)據(jù)組裝很不一樣

與網(wǎng)上的一些開源軟件不同的是,這個程序是由excel模板驅(qū)動的,需要在模板中填寫變量名,而不是在程序中添加注釋。

為什么不使用基于注釋的方法?

網(wǎng)上一些基于注解的excel導出,基本只能導出簡單的表格樣式。該程序使用excel模板,因此可以導出一些更復雜的表格樣式。

螞蟻4

Antlr(ANother Tool for Language Recognition)是一個強大的跨語言語法解析器,可用于讀取、處理、執(zhí)行或翻譯結(jié)構(gòu)化文本或二進制文件。它被廣泛用于構(gòu)建語言、工具和框架。Antlr 可以在語法上生成一個可以構(gòu)建和遍歷解析樹的解析器。由于程序是基于Antlr4開發(fā)的,所以在變量的定義上非常靈活。我們可以定義集合變量,甚至可以在公式中定義變量。一張表對應一個數(shù)據(jù)對象,開發(fā)者只需要查詢數(shù)據(jù),組裝數(shù)據(jù)即可。

如何生成excel模板?

模板生成非常簡單。我們在定義變量的時候翻譯表格模板,只需要使用$+括號括起來的形式翻譯表格模板,比如:${school.name}。

翻譯表格模板chimm.excel:chimm

Chimm.Excel 函數(shù)介紹

根據(jù)模板中的變量,將值寫入支持公式操作表中添加/減少行合并單元格(支持批量合并)更改單元格邊框樣式(粗體、虛線等)支持設(shè)置超鏈接(v1.2.0)2. 功能展示

我提供了一個演示測試類。

模板具體位置:src/test/resources/demo.xlsx

測試類的具體位置:src/test/java/../demo/Demo.java

模板文件:

處理后的文件:

3. 項目結(jié)構(gòu)

.com.github.chimmhuang└── excel    ├── ExcelHelper.java    整個程序的主入口    ├── exception           自定義異常    ├── parser              Antlr4解析文件    └── tablemodel          表格相關(guān)的類

3.1 ExcelHelper-表處理對象

這個對象是整個 Chimm.Excel 程序的主入口。提供創(chuàng)建excel工作簿、獲取工作表頁面、填寫模板數(shù)據(jù)、導出二進制數(shù)據(jù)等功能。下面我將詳細介紹主要方法。

3.2 ExcelWorkbook-excel 對象

這個對象對應整個excel文件,包括sheet頁的所有table對象。現(xiàn)階段這個對象的實際使用場景并不是太多,所以提供的方法比較少

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 導入模板,導出結(jié)果表

4.3.2 設(shè)置公式

public void testFillInTable() throws Exception {    /*        獲取文件的二進制        通過 ExcelHelper 獲取 excel 表格對象        ...     */    // 獲取指定的 sheet 頁(該對象即是我們設(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 {    /*        獲取文件的二進制        通過 ExcelHelper 獲取 excel 表格對象        ...     */    // 獲取指定的 sheet 頁(該對象即是我們設(shè)置好的表格模板)    SheetTable table = excelWorkbook.getSheet(0);    // 獲取第13行    Row row13 = table.getRow(13);    // 將 rowNum 大于 13 的都刪除,進行動態(tài)表格添加    table.removeRowGE(13);    // 復制行    Row copy1 = row13.copy();    Row copy2 = row13.copy();    // 設(shè)置新的值    copy1.getCell("A").setValue("copy1");    copy2.getCell("A").setValue("copy2");    // 設(shè)置完畢后,添加進表格    table.appendRow(copy1);    table.appendRow(copy2);}

4.3.4 個合并單元格

public void testFillInTable() throws Exception {    /*        獲取文件的二進制        通過 ExcelHelper 獲取 excel 表格對象        ...     */    // 獲取指定的 sheet 頁(該對象即是我們設(shè)置好的表格模板)    SheetTable table = excelWorkbook.getSheet(0);    // 合并單元格,【此處僅展示功能,需要合并的 rowNum 建議動態(tài)計算】    table.mergeCell(13, 15, "A", "A");    table.mergeCell(16, 19, "A", "A");}

4.3.5 粗體單元格邊框

public void testFillInTable() throws Exception {    /*        獲取文件的二進制        通過 ExcelHelper 獲取 excel 表格對象        ...     */    // 獲取指定的 sheet 頁(該對象即是我們設(shè)置好的表格模板)    SheetTable table = excelWorkbook.getSheet(0);    // 設(shè)置指定行的單元格樣式,【此處僅展示功能:加粗,rowNum 建議動態(tài)計算】    table.getRow(19).setBorderStyle(BorderPositionEnum.BOTTOM, BorderStyle.MEDIUM);}

4.3.6 設(shè)置超鏈接

public void testFillInTable() throws Exception {    /*        獲取文件的二進制        通過 ExcelHelper 獲取 excel 表格對象        ...     */    // 獲取指定的 sheet 頁(該對象即是我們設(shè)置好的表格模板)    SheetTable table = excelWorkbook.getSheet(0);    // 設(shè)置超鏈接    table.getRow(2).getCell("A").setHyperlinkURL("");}

5. 參與投稿

非常歡迎您的加入!提出問題或提交拉取請求。

6. 聯(lián)系作者


參考資料
文章版權(quán)聲明:除非注明,否則均為好譯翻譯公司原創(chuàng)文章,轉(zhuǎn)載或復制請以超鏈接形式并注明出處。

上一篇: 同聲傳譯翻譯方法與同傳技巧翻譯公司技巧分享大全

下一篇: 機械翻譯存在的要性