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

Java實(shí)現(xiàn)快速合并Excel工作表和文件

 更新時(shí)間:2025年11月08日 08:52:44   作者:E-iceblue  
合并 Excel 文件是數(shù)據(jù)處理中非常常見(jiàn)的需求,但是在不同文件或表格中來(lái)回復(fù)制粘貼卻十分費(fèi)時(shí)費(fèi)力,下面我們就來(lái)看看如何使用Java實(shí)現(xiàn)快速合并Excel工作表和文件吧

合并 Excel 文件是數(shù)據(jù)處理中非常常見(jiàn)的需求,但是在不同文件或表格中來(lái)回復(fù)制粘貼卻十分費(fèi)時(shí)費(fèi)力。那么有沒(méi)有更快的方法呢?其實(shí)只需要簡(jiǎn)單的 Java 代碼就能輕松實(shí)現(xiàn)批量合并 Excel。不管是整合多個(gè)工作表為一個(gè)文件,還是匯總不同 Excel 文件中的數(shù)據(jù),你都可以做到一鍵完成!

本文使用到的 Java 庫(kù)是 Spire.XLS for Java,這是一個(gè)專業(yè)且功能豐富的 Excel 組件,可以輕松處理 Excel 相關(guān)的多種任務(wù)。同時(shí),該工具為小型項(xiàng)目提供了免費(fèi)版,你可以導(dǎo)航到官方網(wǎng)站進(jìn)行獲取。

Java 合并 Excel 工作表

Excel 文件往往包含多個(gè)工作表,用來(lái)記錄不同階段或部門的數(shù)據(jù)。但在分析匯總時(shí),我們往往需要把這些分散的內(nèi)容整合到一個(gè)工作表中,方便統(tǒng)一查看和處理。接下來(lái),我們就來(lái)看看如何使用 Java 代碼高效地將多個(gè)工作表合并為一個(gè),實(shí)現(xiàn)數(shù)據(jù)的快速整合。

步驟

  • 創(chuàng)建主工作簿:使用 Workbook 對(duì)象并刪除默認(rèn)工作表,通過(guò) getWorksheets().add() 新建一個(gè)用于保存合并結(jié)果的工作表。
  • 加載源文件:分別創(chuàng)建臨時(shí) Workbook 對(duì)象,使用 loadFromFile() 方法加載要合并的 Excel 文件。
  • 獲取并復(fù)制數(shù)據(jù):通過(guò) getWorksheets().get(0) 獲取每個(gè)文件中的目標(biāo)工作表,使用 getAllocatedRange().copy() 將其內(nèi)容復(fù)制到主工作簿的新工作表中。
  • 調(diào)整粘貼位置:利用 getLastRow() 方法確定下一次粘貼的起始行,確保多個(gè)文件數(shù)據(jù)依次排列而不被覆蓋。
  • 保存結(jié)果文件:調(diào)用 saveToFile() 方法,將合并完成的工作簿輸出到指定的 output 文件夾中。

代碼示例:將分屬兩個(gè) Excel 文件中的第一個(gè)工作表合并到一起

import com.spire.xls.*;

public class MergeWorksheets {
    public static void main(String[] args) {
        // 輸入文件路徑
        String[] inputFiles = new String[]{
                "E:/Administrator/Python1/input/北美人口數(shù)量前十.xlsx",
                "E:/Administrator/Python1/input/南美人口數(shù)量前十.xlsx"
        };

        // 輸出文件路徑
        String outputFile = "E:/Administrator/Python1/output/合并結(jié)果.xlsx";

        // 創(chuàng)建一個(gè)新的工作簿
        Workbook mergedWorkbook = new Workbook();
        mergedWorkbook.getWorksheets().clear(); // 刪除默認(rèn)空白表

        // 在新工作簿中添加一個(gè)合并用的工作表
        Worksheet mergedSheet = mergedWorkbook.getWorksheets().add("合并結(jié)果");

        // 創(chuàng)建一個(gè)臨時(shí)工作簿
        Workbook tempWorkbook = new Workbook();

        int currentRow = 1; // 記錄目標(biāo)表中當(dāng)前可寫入的行號(hào)

        // 遍歷輸入文件
        for (String file : inputFiles) {
            // 加載當(dāng)前 Excel 文件
            tempWorkbook.loadFromFile(file);

            // 獲取第一個(gè)工作表
            Worksheet sourceSheet = tempWorkbook.getWorksheets().get(0);

            // 獲取源表已用區(qū)域
            CellRange sourceRange = sourceSheet.getAllocatedRange();

            // 獲取目標(biāo)區(qū)域起點(diǎn)(currentRow 行,第 1 列)
            CellRange destRange = mergedSheet.getCellRange(currentRow, 1, currentRow, 1);

            // 將源表復(fù)制到目標(biāo)區(qū)域
            sourceRange.copy(destRange);

            // 更新下一次寫入起點(diǎn)行號(hào)
            currentRow += sourceRange.getRowCount();
        }

        // 保存結(jié)果
        mergedWorkbook.saveToFile(outputFile, ExcelVersion.Version2016);

        // 釋放資源
        mergedWorkbook.dispose();
        tempWorkbook.dispose();
    }
}

輸出文件預(yù)覽

Java 合并多個(gè) Excel 文件

除了合并不同 Excel 文件中的工作表以外,Spire.XLS for Java 還支持合并一整個(gè) Excel 工作簿。通過(guò)加載多個(gè) Excel 文件并依次遍歷它們的工作表,就能將所有內(nèi)容復(fù)制到一個(gè)新的工作簿中,實(shí)現(xiàn)自動(dòng)化匯總。核心思路是使用 getWorksheets() 方法獲取每個(gè)文件中的工作表集合,并借助 addCopy() 方法將它們復(fù)制到新建的工作簿中。這樣,無(wú)論文件數(shù)量多少,都能輕松完成合并操作。下面我們來(lái)看看具體的步驟解析和代碼示例。

步驟

  • 設(shè)置文件路徑:創(chuàng)建字符串?dāng)?shù)組 inputFiles,存放需要合并的多個(gè) Excel 文件路徑。
  • 創(chuàng)建新工作簿:實(shí)例化一個(gè) Workbook 對(duì)象,并通過(guò) getWorksheets().clear() 刪除默認(rèn)工作表,為合并內(nèi)容預(yù)留空間。
  • 創(chuàng)建臨時(shí)工作簿:實(shí)例化另一個(gè) Workbook 對(duì)象,用于逐個(gè)加載要合并的文件。
  • 遍歷并復(fù)制工作表:使用 loadFromFile() 加載每個(gè) Excel 文件,通過(guò) getWorksheets() 獲取其中的所有工作表,并調(diào)用 addCopy() 方法將它們復(fù)制到新建工作簿中。
  • 保存結(jié)果文件:使用 saveToFile() 方法將合并后的內(nèi)容輸出到指定路徑,生成新的 Excel 文件。

代碼示例:合并兩個(gè)不同的 Excel 文件

import com.spire.xls.*;

public class mergeWorkbooks {
    public static void main(String[] args){
        //錄入需要合并的Excel文件的路徑
        String[] inputFiles = new String[]{"E:/Administrator/Python1/input/北美人口數(shù)量前十.xlsx","E:/Administrator/Python1/input/南美人口數(shù)量前十.xlsx", "E:/Administrator/Python1/input/歐洲人口數(shù)量前十.xlsx"};

        //創(chuàng)建Workbook類的對(duì)象
        Workbook newBook = new Workbook();

        //刪除新建工作簿中的所有工作表
        newBook.getWorksheets().clear();

        //創(chuàng)建另一個(gè)Workbook類的對(duì)象
        Workbook tempBook = new Workbook();

        //循環(huán)遍歷Excel工作簿中的工作表,并將所有工作表復(fù)制到新建的工作簿中
        for (String file : inputFiles)
        {
            tempBook.loadFromFile(file);
            for (Object sheet : (Iterable)tempBook.getWorksheets())
            {
                newBook.getWorksheets().addCopy((Worksheet) sheet, WorksheetCopyType.CopyAll);
            }
        }

        //保存新建的工作簿
        newBook.saveToFile("E:/Administrator/Python1/output/合并工作簿.xlsx", ExcelVersion.Version2013);
    }
}

輸出文件預(yù)覽

總結(jié)

通過(guò)以上兩種方法,我們可以在 Java 中輕松完成多個(gè) Excel 文件的快速合并,再也不用手動(dòng)去完成復(fù)制粘貼。如果你希望在項(xiàng)目中更加高效地處理 Excel 文檔、自動(dòng)化批量操作,不妨試試 Spire.XSL for Java —— 它提供了易懂且功能完善的 API,幫助你毫不費(fèi)力地應(yīng)對(duì)各種簡(jiǎn)單或復(fù)雜的 Excel 處理場(chǎng)景。

到此這篇關(guān)于Java實(shí)現(xiàn)快速合并Excel工作表和文件的文章就介紹到這了,更多相關(guān)Java合并Excel內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java將文件壓縮成zip并下載

    Java將文件壓縮成zip并下載

    這篇文章主要為大家詳細(xì)介紹了Java如何將文件壓縮成zip和下載,并處理base64和url,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以參考一下
    2025-04-04
  • SpringCloud gateway如何修改返回?cái)?shù)據(jù)

    SpringCloud gateway如何修改返回?cái)?shù)據(jù)

    這篇文章主要介紹了SpringCloud gateway如何修改返回?cái)?shù)據(jù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 詳解Spring中Bean的生命周期和作用域及實(shí)現(xiàn)方式

    詳解Spring中Bean的生命周期和作用域及實(shí)現(xiàn)方式

    這篇文章主要給大家介紹了Spring中Bean的生命周期和作用域及實(shí)現(xiàn)方式的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-03-03
  • Java的SpringMVC中控制器返回XML數(shù)據(jù)問(wèn)題

    Java的SpringMVC中控制器返回XML數(shù)據(jù)問(wèn)題

    這篇文章主要介紹了Java的SpringMVC中控制器返回XML數(shù)據(jù)問(wèn)題,控制器是處理HTTP請(qǐng)求的組件,它們接收來(lái)自客戶端的請(qǐng)求,并將其轉(zhuǎn)換為適當(dāng)?shù)捻憫?yīng),這些響應(yīng)可以是動(dòng)態(tài)生成的?HTML?頁(yè)面,也可以是JSON或XML格式的數(shù)據(jù),需要的朋友可以參考下
    2023-07-07
  • Java抽象類概念與用法實(shí)例分析

    Java抽象類概念與用法實(shí)例分析

    這篇文章主要介紹了Java抽象類概念與用法,結(jié)合實(shí)例形式分析了java抽象類的概念、方法、特點(diǎn)及使用方法,需要的朋友可以參考下
    2018-02-02
  • Java中自定義類的實(shí)現(xiàn)詳解

    Java中自定義類的實(shí)現(xiàn)詳解

    自定義類是Java中最基本、也是最重要的組成部分之一,使用者可以根據(jù)需求創(chuàng)建自己的數(shù)據(jù)類型,從而更加高效地構(gòu)建程序,本文就來(lái)為大家詳細(xì)講講Java中自定義類的實(shí)現(xiàn)與使用吧
    2023-05-05
  • Java報(bào)錯(cuò):找不到或無(wú)法加載主類的解決辦法

    Java報(bào)錯(cuò):找不到或無(wú)法加載主類的解決辦法

    在Java中當(dāng)您嘗試運(yùn)行一個(gè)類作為主類時(shí),如果系統(tǒng)找不到該類或者無(wú)法加載該類,就會(huì)出現(xiàn)"找不到或無(wú)法加載主類"的錯(cuò)誤,這篇文章主要給大家介紹了關(guān)于Java報(bào)錯(cuò):找不到或無(wú)法加載主類的解決辦法,需要的朋友可以參考下
    2024-12-12
  • SpringMVC中Json數(shù)據(jù)交互處理示例詳解

    SpringMVC中Json數(shù)據(jù)交互處理示例詳解

    這篇文章主要介紹了SpringMVC中Json數(shù)據(jù)交互處理的相關(guān)資料,分別講解了JSON的基本概念、構(gòu)成要素、數(shù)據(jù)類型、對(duì)象和數(shù)組的表示方法、字符串的轉(zhuǎn)義規(guī)則以及JSON與JavaScript的關(guān)系,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-03-03
  • Java讀寫文件,在文件中搜索內(nèi)容,并輸出含有該內(nèi)容的所有行方式

    Java讀寫文件,在文件中搜索內(nèi)容,并輸出含有該內(nèi)容的所有行方式

    這篇文章主要介紹了Java讀寫文件,在文件中搜索內(nèi)容,并輸出含有該內(nèi)容的所有行方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-08-08
  • SpringBoot中最常用的5個(gè)內(nèi)置對(duì)象使用方法

    SpringBoot中最常用的5個(gè)內(nèi)置對(duì)象使用方法

    這篇文章主要給大家介紹了關(guān)于SpringBoot中最常用的5個(gè)內(nèi)置對(duì)象使用的相關(guān)資料,在學(xué)習(xí)springboot的過(guò)程中,發(fā)現(xiàn)了springboot非常多的優(yōu)點(diǎn)和特性,需要的朋友可以參考下
    2023-08-08

最新評(píng)論

库伦旗| 华安县| 唐海县| 双牌县| 达尔| 东乌| 文化| 内黄县| 纳雍县| 西安市| 新郑市| 越西县| 太康县| 淳化县| 伊春市| 大关县| 成都市| 清水河县| 喀什市| 德兴市| 九龙县| 抚顺县| 稷山县| 宁海县| 通江县| 饶阳县| 内黄县| 崇左市| 西平县| 光山县| 济宁市| 黔南| 饶阳县| 宜君县| 吴旗县| 土默特左旗| 莎车县| 集安市| 巴彦淖尔市| 清流县| 梅河口市|