在Java開發中,經常需要操作Excel文件,其中包括讀取和寫入Excel數據。除了基于POI和JXL這兩個常用的工具包之外,最近一個非常流行的選擇是Apache的POI3.16版本,這個版本引入了對xlsx格式的支持。POI是一個流行的開源Java工具包,用于讀寫Microsoft Office格式的文件,如Excel、Word和PowerPoint。在本文中,我們將討論如何使用POI去解析.xlsx和.xls文件的jar包。
// 基本依賴org.apache.poi poi 3.17 // hssf和xls格式jar包 org.apache.poi poi-ooxml 3.17 org.apache.poi poi-ooxml 3.17 org.apache.poi poi 3.17
首先,我們需要將Excel文件讀取到HSSFWorkbook 對象或XSSFWorkbook對象中,這樣我們就可以對表格中的內容進行操作。HSSFWorkbook適用于xls格式,而XSSFWorkbook適用于xlsx格式。
public static void readExcel(String path){ try{ InputStream is = new FileInputStream(path); HSSFWorkbook workbook = new HSSFWorkbook(is); // HSSFWorkbook 或 XSSFWorkbook Sheet sheet = workbook.getSheetAt(0); for (Row row : sheet) { for (Cell cell : row) { System.out.print(cell.getStringCellValue() + " "); } } }catch(Exception e){ e.printStackTrace(); } }
我們可以通過Sheet接口的getRow(int)方法獲得Row對象,然后通過Row對象的getCell方法獲得Cell對象。
如果我們要寫入Excel內容,只需要按照相同的方式創建HSSFWorkbook/XSSFWorkbook對象、Sheet對象,然后通過Row.createCell()和Cell.setCellValue()方法寫入數據。
public static void writeExcel(String path){ try { FileOutputStream outputStream = new FileOutputStream(path); HSSFWorkbook workbook = new HSSFWorkbook(); // HSSFWorkbook 或 XSSFWorkbook Sheet sheet = workbook.createSheet(); Row row = sheet.createRow(0); Cell cell = row.createCell(0); cell.setCellValue("Hello World"); workbook.write(outputStream); outputStream.close(); } catch (Exception e) { e.printStackTrace(); } }
總之,使用Apache POI解析xlsx和xls格式的文件非常簡單,是一種非常流行的Java讀寫Excel文件的方法。我們只需要使用一個適合Excel文件格式的POI工具包,然后按照上述步驟來讀取和寫入Excel文件即可。