您的位置:

Apache POI教程

Apache POI(Poor Obfuscation Implementation)是一个用于处理Microsoft Office文档(如Word、Excel、PowerPoint等)的开源Java库。本教程将介绍使用Apache POI库读写Excel文件的方法,以及如何使用POI API操作Excel文件。

一、安装Apache POI库

要使用Apache POI库,您需要下载POI Java API包,并将其添加到Java项目构建路径中。

在pom.xml文件中添加Apache POI依赖项:


<dependencies>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>4.1.2</version>
    </dependency>
</dependencies>

如果您使用Maven构建项目,只需在pom.xml文件中添加依赖项即可。

如果您使用IDE,例如Eclipse或IntelliJ IDEA,您可以将poi-ooxml-4.1.2.jar添加到Java项目lib目录中,并添加它到您的项目构建路径。

二、创建Excel文件

要创建Excel文件,您需要使用POI API创建一个工作簿,然后向其中添加工作表和单元格。

下面是使用POI API创建包含一些数据的Excel文件的示例代码:


// 创建一个工作簿
XSSFWorkbook workbook = new XSSFWorkbook();

// 创建一个工作表
XSSFSheet sheet = workbook.createSheet("Sheet1");

// 创建行
XSSFRow row = sheet.createRow(0);

// 创建单元格
XSSFCell cell = row.createCell(0);
cell.setCellValue("Hello, World!");

// 写入文件
FileOutputStream fileOutputStream = new FileOutputStream("test.xlsx");
workbook.write(fileOutputStream);

// 关闭流
fileOutputStream.close();
workbook.close();

三、读取Excel文件

要读取Excel文件,您需要使用POI API打开文件,然后逐个读取单元格的内容。

下面是使用POI API读取Excel文件中的内容的示例代码:


// 打开Excel文件
FileInputStream fileInputStream = new FileInputStream("test.xlsx");
XSSFWorkbook workbook = new XSSFWorkbook(fileInputStream);

// 获取工作表
XSSFSheet sheet = workbook.getSheet("Sheet1");

// 获取行
XSSFRow row = sheet.getRow(0);

// 获取单元格
XSSFCell cell = row.getCell(0);

// 读取单元格内容
String cellContent = cell.getStringCellValue();
System.out.println(cellContent);

// 关闭流
fileInputStream.close();
workbook.close();

四、操作Excel文件

除了创建和读取Excel文件外,POI API还允许您执行其他操作,例如添加格式化,将单元格合并,以及从一个单元格复制样式到另一个单元格。

下面是使用POI API添加格式化和合并单元格的示例代码:


// 添加边框
CellStyle cellStyle = workbook.createCellStyle();
cellStyle.setBorderBottom(BorderStyle.THIN);
cellStyle.setBorderTop(BorderStyle.THIN);
cellStyle.setBorderRight(BorderStyle.THIN);
cellStyle.setBorderLeft(BorderStyle.THIN);

// 添加背景色
cellStyle.setFillForegroundColor(IndexedColors.YELLOW.getIndex());
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);

// 获取工作表
XSSFSheet sheet = workbook.getSheet("Sheet1");

// 创建合并单元格
CellRangeAddress mergedCells = new CellRangeAddress(0, 0, 0, 3);
sheet.addMergedRegion(mergedCells);

// 获取行
XSSFRow row = sheet.getRow(0);

// 获取单元格
XSSFCell cell = row.createCell(0);

// 设置单元格值
cell.setCellValue("Hello, World!");

// 应用样式
cell.setCellStyle(cellStyle);

// 写入文件
FileOutputStream fileOutputStream = new FileOutputStream("test.xlsx");
workbook.write(fileOutputStream);

// 关闭流
fileOutputStream.close();
workbook.close();

五、总结

在本教程中,您已经学习了如何使用Apache POI库创建,读取和操作Excel文件的方法。您可以使用POI API轻松地创建和读取Excel文件,以及添加样式和合并单元格。

这只是POI API的一部分,您可以在官方文档中查找更多有用的API。