Java使用Apache POI读取Excel内容示例

需积分: 34 28 下载量 139 浏览量 更新于2024-09-08 收藏 8KB TXT 举报
"使用Java读取Excel内容通常需要Apache POI库的支持。Apache POI是一个流行的开源API,专门用于处理Microsoft Office格式的文件,包括Excel。在Java程序中,我们可以利用POI库来读取、写入以及修改Excel文件。为了使用它,你需要下载poi.jar文件并将其添加到你的项目类路径中。然后,你可以通过以下步骤来读取Excel文件的内容: 1. 引入必要的库: ```java import java.io.*; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFDateUtil; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; ``` 2. 创建一个`File`对象,指向你要读取的Excel文件: ```java File file = new File("ExcelDemo.xls"); ``` 3. 使用`POIFSFileSystem`和`HSSFWorkbook`打开Excel文件: ```java FileInputStream fis = new FileInputStream(file); POIFSFileSystem fs = new POIFSFileSystem(fis); HSSFWorkbook workbook = new HSSFWorkbook(fs); ``` 4. 获取工作表(sheet): ```java HSSFSheet sheet = workbook.getSheetAt(0); // 0表示第一个工作表,根据需要更改 ``` 5. 遍历行和单元格,读取数据: ```java List<List<String>> result = new ArrayList<>(); for (HSSFRow row : sheet) { List<String> rowData = new ArrayList<>(); for (HSSFCell cell : row) { switch (cell.getCellType()) { case STRING: rowData.add(cell.getStringCellValue()); break; case NUMERIC: if (HSSFDateUtil.isCellDateFormatted(cell)) { Date date = cell.getDateCellValue(); rowData.add(new SimpleDateFormat("yyyy-MM-dd").format(date)); } else { rowData.add(Double.toString(cell.getNumericCellValue())); } break; // 其他类型如BOOLEAN, FORMULA等按需处理 } } result.add(rowData); } // 打印结果 for (List<String> row : result) { for (String value : row) { System.out.print(value + "\t\t"); } System.out.println(); } ``` 6. 关闭文件流: ```java workbook.close(); fis.close(); ``` 以上代码示例展示了如何读取Excel文件中的数据,并将其以二维数组的形式打印出来。需要注意的是,这个例子是针对老版本的Excel文件(.xls),如果是新版本的Excel文件(.xlsx),则需要使用`XSSFWorkbook`和对应的sheet、cell类。同时,处理日期和数字时,需要根据实际的格式进行转换。在实际项目中,你可能还需要考虑错误处理和异常捕获,确保文件操作的稳健性。"