使用Java讀取Excel文件數據

通過編程方式讀取Excel數據能實現數據導入、批量處理、數據比對和更新等任務的自動化。這不僅可以提高工作效率還能減少手動處理的錯誤風險。此外讀取的Excel數據可以與其他系統進行交互或集成,實現數據的無縫傳輸和共享,滿足特定項目的需求。本文將從以下三個方面介紹如何通過Java讀取Excel文件中的數據。

  • 讀取某個單元格中的數據
  • 讀取指定單元格範圍的數據
  • 讀取Excel工作表中的數據

 

安裝免費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數據的核心方法:

要讀取Excel單元格、單元格範圍、或者Excel工作表中的數據,我們需要用到Free Spire.XLS for Java庫提供的以下接口:

  • Workbook類、Worksheet類:分別用於代表 Excel 工作簿、和工作簿中的工作表。
  • CellRange類:用於代表某個特定的單元格或單元格區域。
  • Worksheet.getCellRange(String name) 方法:獲取某個單元格或單元格區域並返回 CellRange 對象。
  • Worksheet.getAllocatedRange() 方法:獲取工作表中包含數據的單元格區域,並返回 CellRange 對象。
  • CellRange.getValue() 方法:獲取單元格中的數值或文本值。(如果單元格有公式,該方法會返回公式而不是公式計算的結果)

 

輸入文檔:

 

 

Java代碼示例

示例1 :使用Java 讀取某個單元格的數據

import com.spire.xls.CellRange;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
 
public class ReadData {
 
    public static void main(String[] args) {
 
        //創建Workbook對象
        Workbook wb = new Workbook();
 
        //加載Excel文件
        wb.loadFromFile("貨物.xlsx");
 
        //獲取第一張工作表
        Worksheet sheet = wb.getWorksheets().get(0);
 
        //獲取指定單元格
        CellRange cell = sheet.getCellRange("A9");
 
        //獲取單元格數據
        System.out.print("A9單元格的值爲 " + cell.getValue());
    }
}

讀取A9單元格的值:

 

示例2:使用Java 讀取某個單元格範圍中的數據 

import com.spire.xls.CellRange;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
 
public class ReadData {
 
    public static void main(String[] args) {
 
        //創建Workbook對象
        Workbook wb = new Workbook();
 
        //加載Excel文件
        wb.loadFromFile("貨物.xlsx");
 
        //獲取第一張工作表
        Worksheet sheet = wb.getWorksheets().get(0);
 
        //獲取指定單元格區域
        CellRange range = sheet.getCellRange("A11:F15");
 
        //遍歷行和列
        for (int i = 0; i < range.getRows().length; i++) {
            
            for (int j = 0; j < range.getColumnCount(); j++) {
 
                //獲取單元格數據
                System.out.print(range.get(i + 11, j + 1).getValue() + "  ");
            }
            System.out.println();
        }
    }
}

 讀取Excel單元格範圍返回結果:

 

讀取Excel工作表中的數據

import com.spire.xls.CellRange;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
 
public class ReadData {
 
    public static void main(String[] args) {
 
        //創建Workbook對象
        Workbook wb = new Workbook();
 
        //加載Excel文件
        wb.loadFromFile("貨物.xlsx");
 
        //獲取第一張工作表
        Worksheet sheet = wb.getWorksheets().get(0);
 
        //獲取工作表中的數據區域
        CellRange locatedRange = sheet.getAllocatedRange();
 
        //遍歷行和列
        for (int i = 0; i < locatedRange.getRows().length; i++) {
 
            for (int j = 0; j < locatedRange.getColumnCount(); j++) {
 
                //獲取單元格中的數據
                System.out.print(locatedRange.get(i + 1, j + 1).getValue() + "  ");
            }
            System.out.println();
        }
    }
}

讀取Excel工作表數據返回結果:


 

通過以上示例, 我們可以通過Java編程語言來讀取Excel文件,實現Excel數據的批量處理。Free Spire.XLS for Java 這個免費庫還支持生成、轉換、編輯、打印Excel文件等各種功能,有興趣可前往其中文教程進行了解。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章