Java使用Apache POI与JXL库操作XLS文件

3星 · 超过75%的资源 需积分: 9 15 下载量 105 浏览量 更新于2024-09-13 收藏 3KB TXT 举报
"这篇学习笔记主要讲解了如何在Java中自定义导入和导出XLS文件,虽然导出的文件没有格式,但提供了基础的功能。笔记中提到了使用Apache POI库来处理Excel文件,同时也提及了JXL库用于读取Excel数据。" 在Java中处理Excel文件通常涉及两个主要的库:Apache POI和JXL。Apache POI是一个流行的开源API,用于读写Microsoft Office格式的文件,包括XLS(Excel 97-2003)和XLSX(Excel 2007及以上版本)。JXL则是一个专门用于读写Excel文件的Java库,支持老版本的XLS格式。 以下是使用Apache POI进行导入和导出XLS文件的基本步骤: 1. 导入所需的库: ```java import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; ``` 2. 创建一个新的Excel工作簿(Workbook): ```java HSSFWorkbook hwb = new HSSFWorkbook(); ``` 3. 创建一个工作表(Sheet): ```java HSSFSheet sheet = hwb.createSheet("pldrxkxxmb"); ``` 4. 添加行(Row)和单元格(Cell): ```java HSSFRow firstRow = sheet.createRow(0); // 创建第一行,行号从0开始 HSSFCell[] firstCell = new HSSFCell[CountColumnNum]; for (int i = 0; i < xls.size(); i++) { HSSFRow row = sheet.createRow(i); for (int colu = 0; colu < xls.get(0).size(); colu++) { HSSFCell xh = row.createCell(colu); // 在这里设置单元格的值,例如:xh.setCellValue(xls.get(i).get(colu)); } } ``` 5. 写入到文件: ```java try (OutputStream out = new FileOutputStream(name)) { hwb.write(out); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } ``` 对于JXL库,其使用方法类似,只是对象和方法名称略有不同: 1. 导入JXL库所需类: ```java import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.BiffException; ``` 2. 读取Excel文件: ```java Workbook workbook = Workbook.getWorkbook(new FileInputStream(fileName)); Sheet sheet = workbook.getSheet(0); // 获取第一个工作表 ``` 3. 遍历行和单元格: ```java for (int i = 0; i < sheet.getRows(); i++) { for (int j = 0; j < sheet.getColumns(); j++) { Cell cell = sheet.getCell(j, i); String cellValue = cell.getContents(); // 处理单元格的值 } } ``` 4. 关闭工作簿: ```java workbook.close(); ``` 这两个库都提供了处理Excel文件的基本功能,如读取、写入单元格、设置样式等。然而,Apache POI相比JXL更现代,支持更多的功能和格式,比如XLSX格式,而JXL只支持旧版的XLS格式。在实际项目中,根据需求选择合适的库即可。