使用Java讀取Excel文件數(shù)據的方法詳解
通過編程方式讀取Excel數(shù)據能實現(xiàn)數(shù)據導入、批量處理、數(shù)據比對和更新等任務的自動化。這不僅可以提高工作效率還能減少手動處理的錯誤風險。此外讀取的Excel數(shù)據可以與其他系統(tǒng)進行交互或集成,實現(xiàn)數(shù)據的無縫傳輸和共享,滿足特定項目的需求。本文將從以下三個方面介紹如何通過Java讀取Excel文件中的數(shù)據。
- 讀取某個單元格中的數(shù)據
- 讀取指定單元格范圍的數(shù)據
- 讀取Excel工作表中的數(shù)據
安裝免費Java庫
操作Excel的免費Java庫為 Free Spire.XLS for Java。該免費庫在讀寫 .xls 格式的 Excel 文檔時,有每個文檔 5 個工作表,每個工作表 200 行的限制。但在讀寫 .xlsx 格式的 Excel 文檔時是沒有任何限制。
我么可以從下面鏈接下載產品包后手動引入jar包或者直接通過Maven倉庫安裝也可。
https://www.e-iceblue.cn/Downloads/Free-Spire-XLS-JAVA.html
讀取Excel數(shù)據的核心方法
要讀取Excel單元格、單元格范圍、或者Excel工作表中的數(shù)據,我們需要用到Free Spire.XLS for Java庫提供的以下接口:
- Workbook類、Worksheet類:分別用于代表 Excel 工作簿、和工作簿中的工作表。
- CellRange類:用于代表某個特定的單元格或單元格區(qū)域。
- Worksheet.getCellRange(String name) 方法:獲取某個單元格或單元格區(qū)域并返回 CellRange 對象。
- Worksheet.getAllocatedRange() 方法:獲取工作表中包含數(shù)據的單元格區(qū)域,并返回 CellRange 對象。
- CellRange.getValue() 方法:獲取單元格中的數(shù)值或文本值。(如果單元格有公式,該方法會返回公式而不是公式計算的結果)
輸入文檔:
Java代碼示例
示例1 :使用Java 讀取某個單元格的數(shù)據
import com.spire.xls.CellRange; import com.spire.xls.Workbook; import com.spire.xls.Worksheet; public class ReadData { public static void main(String[] args) { //創(chuàng)建Workbook對象 Workbook wb = new Workbook(); //加載Excel文件 wb.loadFromFile("貨物.xlsx"); //獲取第一張工作表 Worksheet sheet = wb.getWorksheets().get(0); //獲取指定單元格 CellRange cell = sheet.getCellRange("A9"); //獲取單元格數(shù)據 System.out.print("A9單元格的值為 " + cell.getValue()); } }
讀取A9單元格的值:
示例2:使用Java 讀取某個單元格范圍中的數(shù)據
import com.spire.xls.CellRange; import com.spire.xls.Workbook; import com.spire.xls.Worksheet; public class ReadData { public static void main(String[] args) { //創(chuàng)建Workbook對象 Workbook wb = new Workbook(); //加載Excel文件 wb.loadFromFile("貨物.xlsx"); //獲取第一張工作表 Worksheet sheet = wb.getWorksheets().get(0); //獲取指定單元格區(qū)域 CellRange range = sheet.getCellRange("A11:F15"); //遍歷行和列 for (int i = 0; i < range.getRows().length; i++) { for (int j = 0; j < range.getColumnCount(); j++) { //獲取單元格數(shù)據 System.out.print(range.get(i + 11, j + 1).getValue() + " "); } System.out.println(); } } }
讀取Excel單元格范圍返回結果:
示例3:讀取Excel工作表中的數(shù)據
import com.spire.xls.CellRange; import com.spire.xls.Workbook; import com.spire.xls.Worksheet; public class ReadData { public static void main(String[] args) { //創(chuàng)建Workbook對象 Workbook wb = new Workbook(); //加載Excel文件 wb.loadFromFile("貨物.xlsx"); //獲取第一張工作表 Worksheet sheet = wb.getWorksheets().get(0); //獲取工作表中的數(shù)據區(qū)域 CellRange locatedRange = sheet.getAllocatedRange(); //遍歷行和列 for (int i = 0; i < locatedRange.getRows().length; i++) { for (int j = 0; j < locatedRange.getColumnCount(); j++) { //獲取單元格中的數(shù)據 System.out.print(locatedRange.get(i + 1, j + 1).getValue() + " "); } System.out.println(); } } }
讀取Excel工作表數(shù)據返回結果:
到此這篇關于使用Java讀取Excel文件數(shù)據的方法詳解的文章就介紹到這了,更多相關Java讀取Excel數(shù)據內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Springboot接收?Form?表單數(shù)據的示例詳解
這篇文章主要介紹了Springboot接收?Form?表單數(shù)據的實例代碼,本文通過圖文實例代碼相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-08-08SpringBoot整合Lucene實現(xiàn)全文檢索的詳細步驟
全文搜索(Full-Text?Search)是指對大規(guī)模存儲在計算機系統(tǒng)中的文本數(shù)據進行檢索和匹配的技術,它允許用戶輸入關鍵字,然后從海量的文本數(shù)據中快速找到相關的信息,本文介紹了SpringBoot整合Lucene實現(xiàn)全文檢索的詳細步驟,需要的朋友可以參考下2024-03-03解決springboot+activemq啟動報注解錯誤的問題
這篇文章主要介紹了解決springboot+activemq啟動報注解錯誤的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07Spring中@Import的各種用法以及ImportAware接口詳解
這篇文章主要介紹了Spring中@Import的各種用法以及ImportAware接口詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-10-10Java 中的 @SneakyThrows 注解的使用方法(簡化異常處理的利與弊)
@SneakyThrows是Lombok提供的一個注解,用于簡化Java方法中的異常處理,特別是對于檢查型異常,它允許方法拋出異常而不必顯式聲明或捕獲這些異常,本文介紹Java 中的 @SneakyThrows 注解的使用方法,感興趣的朋友一起看看吧2025-03-03