最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java自動化實現(xiàn)在Excel工作表中創(chuàng)建、修改和刪除表格

 更新時間:2025年09月26日 08:26:15   作者:缺點內(nèi)向  
在Java應(yīng)用中,我們經(jīng)常需要動態(tài)處理Excel里的表格,本文將使用Spire.XLS for Java輕松搞定表格的創(chuàng)建、修改和刪除操作,需要的可以了解下

在Java應(yīng)用中,我們經(jīng)常需要動態(tài)處理Excel里的表格。比如自動生成一個帶格式的數(shù)據(jù)報表,或者調(diào)整現(xiàn)有表格的范圍。使用Spire.XLS for Java,這幾行代碼就能搞定表格的創(chuàng)建、修改和刪除,讓繁瑣的手動操作徹底自動化。

1. 輕松創(chuàng)建 Excel 表格

在Excel中創(chuàng)建表格,不僅能使數(shù)據(jù)結(jié)構(gòu)化、易于閱讀,還能自動獲得篩選、排序、匯總等功能。使用Spire.XLS for Java,創(chuàng)建表格變得異常簡單。

Spire.XLS for Java 實現(xiàn)

創(chuàng)建表格的核心步驟是指定數(shù)據(jù)范圍,并為表格命名。我們還可以為表格應(yīng)用預(yù)設(shè)的樣式,使其外觀更專業(yè)。

代碼示例

import com.spire.xls.*;
import com.spire.xls.collections.IListObjects;
import com.spire.xls.core.IListObject;

public class CreateExcelTable {
    public static void main(String[] args) {
        // 1. 創(chuàng)建一個新的工作簿
        Workbook workbook = new Workbook();
        // 2. 獲取第一個工作表
        Worksheet sheet = workbook.getWorksheets().get(0);

        // 3. 填充一些示例數(shù)據(jù)
        sheet.getCellRange("A1").setText("產(chǎn)品");
        sheet.getCellRange("B1").setText("數(shù)量");
        sheet.getCellRange("C1").setText("單價");
        sheet.getCellRange("D1").setText("總價");

        sheet.getCellRange("A2").setText("鍵盤");
        sheet.getCellRange("B2").setNumberValue(10);
        sheet.getCellRange("C2").setNumberValue(120.50);
        sheet.getCellRange("D2").setFormula("=B2*C2"); // 使用公式

        sheet.getCellRange("A3").setText("鼠標(biāo)");
        sheet.getCellRange("B3").setNumberValue(20);
        sheet.getCellRange("C3").setNumberValue(60.00);
        sheet.getCellRange("D3").setFormula("=B3*C3");

        // 4. 在指定數(shù)據(jù)區(qū)域創(chuàng)建表格,并命名為 "銷售數(shù)據(jù)表"
        // 參數(shù)1: 表格名稱
        // 參數(shù)2: 數(shù)據(jù)范圍
        IListObject table = sheet.getListObjects().create("銷售數(shù)據(jù)表", sheet.getCellRange("A1:D3"));

        // 5. 應(yīng)用內(nèi)置表格樣式(例如:淺色樣式9)
        table.setBuiltInTableStyle(TableBuiltInStyles.TableStyleLight9);

        // 6. 啟用篩選功能 (默認情況下表格會啟用)
        table.setShowHeaderRow(true); // 顯示標(biāo)題行
        table.setShowTotalsRow(false); // 默認不顯示匯總行

        // 7. 保存工作簿
        workbook.saveToFile("CreateExcelTable.xlsx", ExcelVersion.Version2016);
        System.out.println("Excel表格 '銷售數(shù)據(jù)表' 已成功創(chuàng)建!");
    }
}

關(guān)鍵點提示

  • sheet.getListObjects().create() 方法是創(chuàng)建表格的核心,它允許你指定表格的名稱和數(shù)據(jù)范圍。
  • setBuiltInTableStyle() 可以為表格快速應(yīng)用Excel內(nèi)置的多種樣式,提升美觀度。
  • setShowHeaderRow()setShowTotalsRow() 可以控制表格是否顯示標(biāo)題行和匯總行。

2. 靈活修改 Excel 表格

表格創(chuàng)建后,我們常常需要進行修改,例如添加新的數(shù)據(jù)行、更新現(xiàn)有數(shù)據(jù)、調(diào)整表格樣式,甚至添加匯總行等。

Spire.XLS for Java 實現(xiàn)

Spire.XLS for Java 提供了方便的API來訪問工作表中的現(xiàn)有表格對象,進而對其進行各種修改。

代碼示例

本例將演示如何向現(xiàn)有表格添加新行數(shù)據(jù),并啟用匯總行功能。

import com.spire.xls.*;
import com.spire.xls.core.IListObject;

public class ModifyExcelTable {
    public static void main(String[] args) {
        // 1. 加載一個包含表格的Excel文件
        Workbook workbook = new Workbook();
        workbook.loadFromFile("CreateExcelTable.xlsx"); // 使用上一步創(chuàng)建的文件

        // 2. 獲取第一個工作表
        Worksheet sheet = workbook.getWorksheets().get(0);

        // 3. 獲取工作表中的第一個表格(通過索引或名稱)
        IListObject table = sheet.getListObjects().get(0); // 假設(shè)只有一個表格

        // 4. 添加新數(shù)據(jù)行到表格下方
        int lastRow = table.getRange().getLastRow(); // 獲取表格當(dāng)前數(shù)據(jù)的最后一行
        sheet.getCellRange("A" + (lastRow + 1)).setText("顯示器");
        sheet.getCellRange("B" + (lastRow + 1)).setNumberValue(5);
        sheet.getCellRange("C" + (lastRow + 1)).setNumberValue(800.00);
        sheet.getCellRange("D" + (lastRow + 1)).setFormula("=B" + (lastRow + 1) + "*C" + (lastRow + 1));

        // 5. 調(diào)整表格的數(shù)據(jù)范圍以包含新添加的行
        // 注意:Spire.XLS會自動擴展表格區(qū)域以包含新增數(shù)據(jù),如果新增數(shù)據(jù)緊鄰表格下方。
        // 但為了嚴謹性,也可以手動更新表格的Range,或通過添加ListRow的方式
        // 示例:這里我們直接添加數(shù)據(jù),Spire.XLS通常會自動識別并擴展表格。

        // 6. 啟用表格的匯總行 (Total Row)
        table.setShowTotalsRow(true);

        // 7. 設(shè)置匯總行的計算方式 (例如,對 "總價" 列求和)
        // 假設(shè) "總價" 是表格的第四列 (索引為3)
        // 注意:TotalsCalculation枚舉定義了多種計算方式,如Sum, Average, Count等。
        table.getColumns().get(3).setTotalsCalculation(ExcelTotalsCalculation.Sum);
        // 可以為匯總行第一個單元格設(shè)置標(biāo)簽
        table.getColumns().get(0).setTotalsRowLabel("總計:");


        // 8. 保存修改后的工作簿
        workbook.saveToFile("ModifiedExcelTable.xlsx", ExcelVersion.Version2016);
        System.out.println("Excel表格已成功修改,添加新行并啟用匯總!");
    }
}

關(guān)鍵點提示

  • sheet.getListObjects().get(index)sheet.getListObjects().getByName(name) 可以獲取到工作表中的特定表格對象。
  • 通過直接操作 sheet.getCellRange() 并緊鄰表格數(shù)據(jù)區(qū)域下方添加數(shù)據(jù),Spire.XLS通常會自動擴展表格范圍。
  • setShowTotalsRow(true) 啟用匯總行,getColumns().get(columnIndex).setTotalsCalculation() 則指定各列的匯總計算方式。

3. 有效刪除 Excel 表格

當(dāng)不再需要某個表格時,我們可以選擇將其刪除。刪除表格意味著取消其結(jié)構(gòu)化特性,但通常會保留其數(shù)據(jù)內(nèi)容(變?yōu)槠胀▎卧駞^(qū)域)。

Spire.XLS for Java 實現(xiàn)

刪除表格是一個相對簡單的操作,只需獲取到表格對象,然后調(diào)用其 remove() 方法即可。

代碼示例

import com.spire.xls.*;
import com.spire.xls.core.IListObject;

public class DeleteExcelTable {
    public static void main(String[] args) {
        // 1. 加載一個包含表格的Excel文件
        Workbook workbook = new Workbook();
        workbook.loadFromFile("ModifiedExcelTable.xlsx"); // 使用上一步修改的文件

        // 2. 獲取第一個工作表
        Worksheet sheet = workbook.getWorksheets().get(0);

        // 3. 獲取要刪除的表格對象 (例如,通過名稱 "銷售數(shù)據(jù)表")
        IListObject tableToDelete = sheet.getListObjects().getByName("銷售數(shù)據(jù)表");

        // 4. 刪除表格
        if (tableToDelete != null) {
            tableToDelete.remove();
            System.out.println("Excel表格 '銷售數(shù)據(jù)表' 已成功刪除!");
        } else {
            System.out.println("未找到名為 '銷售數(shù)據(jù)表' 的表格。");
        }

        // 5. 保存修改后的工作簿
        workbook.saveToFile("DeletedExcelTable.xlsx", ExcelVersion.Version2016);
    }
}

注意事項

  • tableToDelete.remove() 方法會刪除表格的結(jié)構(gòu)和功能(如篩選、樣式等),但表格內(nèi)的數(shù)據(jù)會保留在單元格中,成為普通的數(shù)據(jù)區(qū)域。
  • 在執(zhí)行刪除操作前,最好進行非空檢查,確保要刪除的表格確實存在。

總結(jié)

無論是批量生成帶有特定樣式的表格、動態(tài)更新數(shù)據(jù)、添加匯總行,還是按需移除不再需要的表格,Java Excel Automation 借助 Spire.XLS for Java 都能輕松應(yīng)對。掌握這些技能,將能有效提升你在數(shù)據(jù)處理、報表生成等方面的開發(fā)效率,解決實際工作中遇到的痛點。

到此這篇關(guān)于Java自動化實現(xiàn)在Excel工作表中創(chuàng)建、修改和刪除表格的文章就介紹到這了,更多相關(guān)Java操作Excel工作表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot配置文件密碼加密與解密的操作代碼

    SpringBoot配置文件密碼加密與解密的操作代碼

    我們在SpringBoot項目當(dāng)中,會把數(shù)據(jù)庫的用戶名密碼等配置直接放在yaml或者properties文件中,這樣維護數(shù)據(jù)庫的密碼等敏感信息顯然是有一定風(fēng)險的,所以我們需要給密碼加解密,本文給大家介紹了SpringBoot配置文件密碼加密與解密的操作代碼,需要的朋友可以參考下
    2024-12-12
  • SpringBoot使用thymeleaf實現(xiàn)前端表格

    SpringBoot使用thymeleaf實現(xiàn)前端表格

    雖然現(xiàn)在流行前后端分離,但是后端模版在一些關(guān)鍵地方還是非常有用的,例如郵件模版、代碼模版等。當(dāng)然也不排除一些古老的項目后端依然使用動態(tài)模版。Thymeleaf 簡潔漂亮、容易理解,并且完美支持 HTML5,可以直接打開靜態(tài)頁面,同時不新增標(biāo)簽,只需增強屬性
    2022-10-10
  • MyBatis-Plus插件機制及通用Service新功能

    MyBatis-Plus插件機制及通用Service新功能

    這篇文章主要介紹了MyBatis-Plus插件機制以及通用Service、新功能,本文通過實例圖文相結(jié)合給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • 實例講解java的純數(shù)字加密解密

    實例講解java的純數(shù)字加密解密

    本文給大家分享的是一個java純數(shù)字加密解密技術(shù),加密和解密本身就是一對共生體,缺一不可,需要的朋友可以參考下
    2015-07-07
  • Java反射獲取所有Controller和RestController類的方法

    Java反射獲取所有Controller和RestController類的方法

    這篇文章給大家分享了Java反射獲取所有Controller和RestController類的方法,文中有詳細的代碼示例講解,具有一定的參考價值,需要的朋友可以參考下
    2023-08-08
  • AsyncHttpClient exception異常源碼流程解析

    AsyncHttpClient exception異常源碼流程解析

    這篇文章主要為大家介紹了AsyncHttpClient的exception源碼流程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • 使用mybatis切片實現(xiàn)數(shù)據(jù)權(quán)限控制的操作流程

    使用mybatis切片實現(xiàn)數(shù)據(jù)權(quán)限控制的操作流程

    數(shù)據(jù)權(quán)限控制需要對查詢出的數(shù)據(jù)進行篩選,對業(yè)務(wù)入侵最少的方式就是利用mybatis或者數(shù)據(jù)庫連接池的切片對已有業(yè)務(wù)的sql進行修改,本文給大家介紹了使用mybatis切片實現(xiàn)數(shù)據(jù)權(quán)限控制的操作流程,需要的朋友可以參考下
    2024-07-07
  • 如何基于回調(diào)實現(xiàn)Java的異步調(diào)用

    如何基于回調(diào)實現(xiàn)Java的異步調(diào)用

    這篇文章主要介紹了如何基于回調(diào)實現(xiàn)Java的異步調(diào)用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • SpringBoot+MyBatis Plus實現(xiàn)update_time字段自動更新詳解

    SpringBoot+MyBatis Plus實現(xiàn)update_time字段自動更新詳解

    在 Spring Boot + MyBatis Plus 中實現(xiàn) update_time 字段自動更新,可通過 ??MyBatis Plus 的自動填充(Auto Fill)功能?? 完成,下面小編就來和大家詳細介紹一下吧
    2025-07-07
  • 使用Java讀取Word文件的簡單例子分享

    使用Java讀取Word文件的簡單例子分享

    這篇文章主要介紹了使用Java讀取Word文件的簡單例子分享,包括讀取word文件的表格數(shù)據(jù)的示例,需要的朋友可以參考下
    2015-10-10

最新評論

屯留县| 维西| 五台县| 东安县| 米易县| 扎囊县| 苍梧县| 锡林郭勒盟| 峨边| 井研县| 信丰县| 太仆寺旗| 蒙自县| 衡东县| 栾城县| 威远县| 锦州市| 林甸县| 夏津县| 武鸣县| 伊春市| 丹阳市| 大安市| 郧西县| 石门县| 浏阳市| 宜都市| 望奎县| 西安市| 台北县| 抚宁县| 和林格尔县| 黄平县| 商洛市| 呼玛县| 额尔古纳市| 四子王旗| 霍山县| 阳曲县| 永胜县| 璧山县|