使用Java POI库操作Excel:读写示例

需积分: 10 1 下载量 142 浏览量 更新于2024-09-11 1 收藏 81KB DOC 举报
"Java通过Apache POI库读写Excel文件" Apache POI 是一个流行的开源项目,它为Java开发者提供了一套API,用于处理Microsoft Office格式的文件,其中包括Excel文件。在Java中读写Excel文件时,我们可以利用POI项目中的特定类来实现这一功能。以下是对这些关键类的详细解释: 1. HSSFWorkbook: 这是POI库中用来表示Excel文件(.xls格式,Excel 97-2007)的主类。`HSSFWorkbook`实例代表了一个Excel工作簿,你可以通过它创建新的工作簿或者读取已有的工作簿。 2. HSSFSheet: `HSSFSheet` 类则对应于Excel工作簿中的单个工作表。你可以通过`HSSFWorkbook`创建新的工作表,或者访问已有的工作表。 3. HSSFRow: 表示Excel文件中的行。在创建或操作数据时,你需要创建`HSSFRow`对象,然后在其中添加或修改单元格内容。 4. HSSFCell: 最后,`HSSFCell`类用于表示Excel工作表中的单元格。你可以设置单元格类型(如数值、字符串、日期等)并填充数据。 以下是一个简单的示例,展示了如何使用这些类创建一个新的Excel文件并写入数据: ```java import org.apache.poi.hssf.usermodel.*; import java.io.FileOutputStream; public class PoiTest { public static void main(String[] args) throws Exception { FileOutputStream fos = new FileOutputStream("d:\\test.xls"); HSSFWorkbook wb = new HSSFWorkbook(); // 创建工作簿 HSSFSheet sheet = wb.createSheet(); // 创建工作表 wb.setSheetName(0, "firstsheet"); // 设置工作表名称 HSSFRow row = sheet.createRow(0); // 创建行 HSSFCell cell = row.createCell(0); // 创建单元格 cell.setCellValue("Hello! This message is generated from POI."); // 设置单元格值 wb.write(fos); // 写入文件 fos.close(); } } ``` 读取Excel文件的过程相对简单,首先需要创建一个`POIFSFileSystem`对象,然后用它来打开Excel文件并创建一个`HSSFWorkbook`对象。以下是一个基本的读取示例: ```java import org.apache.poi.hssf.usermodel.*; import org.apache.poi.poifs.filesystem.*; public class PoiReadTest { public static void main(String[] args) throws Exception { POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("d:\\test.xls")); HSSFWorkbook wb = new HSSFWorkbook(fs); HSSFSheet sheet = wb.getSheetAt(0); // 获取第一个工作表 HSSFRow row = sheet.getRow(0); // 获取第一行 HSSFCell cell = row.getCell(0); // 获取第一列的单元格 String value = cell.getStringCellValue(); // 获取单元格内容 System.out.println(value); wb.close(); fs.close(); } } ``` 通过这种方式,Java开发者可以轻松地在应用程序中与Excel文件进行交互,无论是创建报告、导入数据还是导出结果,都非常便捷。不过需要注意的是,如果你需要处理.xlsx(Excel 2007及以后版本)文件,应使用XSSFWorkbook和 XSSFSheet 等对应的类。此外,处理大量数据时,需要考虑性能优化,如使用流式API以减少内存消耗。