Java實現(xiàn)批量合并Excel工作表
前言
在Excel中設計表單時,我們經(jīng)常需要對收集的信息進行統(tǒng)計分析。例如,學校給老師統(tǒng)計課時,醫(yī)院給醫(yī)護人員統(tǒng)計班次等。傳統(tǒng)的手工方式需要逐個對比數(shù)據(jù),然后將計算結(jié)果手動填寫到一個新的Excel文件中。但是這種方式不僅費時費力,而且很難確保數(shù)據(jù)結(jié)果的準確性。為了解決這個問題,小編今天要為大家介紹如何使用Java快速實現(xiàn)批量Excel工作表的合并。
使用Java實現(xiàn)工作表的快速合并
首先,給大家介紹一下兩種復制工作表的可能情況:
1.把多個文件的工作表復制到同一個文件中。
例如有10個Excel文件,每個文件中有一個工作表,最終結(jié)果是生成一個新文件,里面有10個工作表。
3.把多個文件的工作表內(nèi)容,截取一部分需要的,復制到同一個工作表中。
例如有10個Excel文件,每個文件中有一個工作表,只需要該工作表中A1:D24范圍內(nèi)的數(shù)據(jù),最終復制到新文件中的一個工作表中。
下面小編依次為大家介紹兩種情況的實現(xiàn)方法(以下圖的example.xlsx文件為例子)。
1.把多個文件的工作表復制到同一個文件中
首先分別創(chuàng)建兩個workbook,然后使用workbook打開example.xlsx,獲取 A1:D24的區(qū)域,并且分別復制到對應Excel文件中 A1:D24 和 F1:G24 的區(qū)域。
//創(chuàng)建workbook Workbook wb = new Workbook(); //使用workbook打開example.xlsx wb.open("resources/example.xlsx"); Workbook newWb = new Workbook(); //獲取 A1:D24的區(qū)域,并且分別復制到對應Excel文件中 A1:D24 和 F1:G24 的區(qū)域。 wb.getActiveSheet().getRange("A1:D24").copy(newWb.getActiveSheet().getRange("A1:D24")); wb.getActiveSheet().getRange("A1:D24").copy(newWb.getActiveSheet().getRange("F1:G24")); newWb.save("output/mergedSheet.xlsx");
結(jié)果如下:
2.把多個文件的工作表內(nèi)容,截取一部分需要的,復制到同一個工作表中
依然是創(chuàng)建兩個workbook,使用workbook打開example.xlsx,模擬兩次復制到newWb中。
這里使用的是copyBefore,意思是復制后,位置在對應目標工作表的前面。
//創(chuàng)建workbook Workbook wb = new Workbook(); wb.open("resources/example.xlsx"); Workbook newWb = new Workbook(); //copyBefore:復制后,位置在對應目標工作表的前面。 wb.getActiveSheet().copyBefore(newWb.getWorksheets().get(0)); wb.getActiveSheet().copyBefore(newWb.getWorksheets().get(0)); newWb.save("output/copySheet.xlsx");
結(jié)果如下:
可以看到,在Sheet1前面,添加了兩個example工作表。
以上就是Java實現(xiàn)批量合并Excel工作表的詳細內(nèi)容,更多關(guān)于Java合并Excel工作表的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
ServletWebServerApplicationContext創(chuàng)建Web容器Tomcat示例
這篇文章主要為大家介紹了ServletWebServerApplicationContext創(chuàng)建Web容器Tomcat示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03java 中動態(tài)代理(JDK,cglib)實例代碼
這篇文章主要介紹了java 中動態(tài)代理,這里介紹了JDK 動態(tài)代理與 cglib 動態(tài)代理的相關(guān)資料2017-04-04Java之Spring AOP 實現(xiàn)用戶權(quán)限驗證
本篇文章主要介紹了Java之Spring AOP 實現(xiàn)用戶權(quán)限驗證,用戶登錄、權(quán)限管理這些是必不可少的業(yè)務邏輯,具有一定的參考價值,有興趣的可以了解一下。2017-02-02如何解決redis的NOAUTH Authentication required異常
這篇文章主要介紹了Jedis異常解決:NOAUTH Authentication required,,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值2019-07-07Java 中的 BufferedReader 介紹_動力節(jié)點Java學院整理
BufferedReader 是緩沖字符輸入流。它繼承于Reader。接下來通過本文給大家介紹BufferedReader的相關(guān)知識,需要的朋友參考下吧2017-05-05Spring實戰(zhàn)之類級別緩存實現(xiàn)與使用方法
這篇文章主要介紹了Spring實戰(zhàn)之類級別緩存實現(xiàn)與使用方法,結(jié)合實例形式分析了Spring類級別緩存配置、屬性、領(lǐng)域模型等相關(guān)操作技巧,需要的朋友可以參考下2020-01-01java 將數(shù)據(jù)加載到內(nèi)存中的操作
這篇文章主要介紹了java 將數(shù)據(jù)加載到內(nèi)存中的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09