在 Java 中,讀取 xls 和 xlsx 文件是一個常見的操作。因為 xls 和 xlsx 文件是 Excel 文件的常用格式,所以我們在日常工作中需要經常對這些文件進行讀取和處理。下面我們將介紹如何使用 Java 讀取 xls 和 xlsx 文件。
Java 讀取 xls 文件的步驟:
// 1. 創建文件輸入流 FileInputStream fis = new FileInputStream("file.xls"); // 2. 創建 HSSFWorkbook 對象,用于操作 xls 文件 HSSFWorkbook workbook = new HSSFWorkbook(fis); // 3. 獲取 sheet,可以根據工作表的名稱或者索引獲取 HSSFSheet sheet = workbook.getSheet("Sheet1"); // 4. 獲取行數和列數 int rows = sheet.getLastRowNum() + 1; int cols = sheet.getRow(0).getPhysicalNumberOfCells(); // 5. 循環讀取數據 for (int i = 0; i< rows; i++) { HSSFRow row = sheet.getRow(i); for (int j = 0; j< cols; j++) { HSSFCell cell = row.getCell(j); System.out.print(cell.getStringCellValue() + " "); } System.out.println(); } // 6. 關閉資源 fis.close();
Java 讀取 xlsx 文件同樣需要進行類似的操作。不同之處在于創建的對象不同:
// 1. 創建文件輸入流 FileInputStream fis = new FileInputStream("file.xlsx"); // 2. 創建 XSSFWorkbook 對象,用于操作 xlsx 文件 XSSFWorkbook workbook = new XSSFWorkbook(fis); // 3. 獲取 sheet,可以根據工作表的名稱或者索引獲取 XSSFSheet sheet = workbook.getSheet("Sheet1"); // 4. 獲取行數和列數 int rows = sheet.getLastRowNum() + 1; int cols = sheet.getRow(0).getPhysicalNumberOfCells(); // 5. 循環讀取數據 for (int i = 0; i< rows; i++) { XSSFRow row = sheet.getRow(i); for (int j = 0; j< cols; j++) { XSSFCell cell = row.getCell(j); System.out.print(cell.getStringCellValue() + " "); } System.out.println(); } // 6. 關閉資源 fis.close();
總之,Java 讀取 xls 和 xlsx 文件都需要使用對應的類進行操作,數據讀取的順序也是類似的。