java poi导入Excel、导出excel
发布人:shili8
发布时间:2025-03-14 07:53
阅读次数:0
**Java POI 导入 Excel 和 导出 Excel**
POI(Poor Obfuscation Implementation)是 Apache 的一个开源库,用于读取和写入 Microsoft Office 文件格式,如 Excel、Word 和 PowerPoint。Java POI 是 Java 版本的 POI 库,提供了对这些文件格式的支持。
在这个文档中,我们将介绍如何使用 Java POI 导入 Excel 文件和导出 Excel 文件。
### 导入 Excel要导入 Excel 文件,我们需要使用 `HSSFWorkbook` 类来读取 Excel 文件,然后将其转换为 Java 对象。
#### 步骤1:添加依赖项首先,我们需要在我们的 Maven 或 Gradle项目中添加 POI 库的依赖项:
xml<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency>
#### 步骤2:读取 Excel 文件接下来,我们需要使用 `HSSFWorkbook` 类来读取 Excel 文件:
javaimport org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class ImportExcel {
public static void main(String[] args) throws IOException {
//读取 Excel 文件 FileInputStream fileInputStream = new FileInputStream(new File("example.xlsx"));
HSSFWorkbook workbook = new HSSFWorkbook(fileInputStream);
POIFSFileSystem poifsFileSystem = new POIFSFileSystem(fileInputStream);
// 获取工作簿中的所有sheet int numberOfSheets = workbook.getNumberOfSheets();
for (int i =0; i < numberOfSheets; i++) {
HSSFSheet sheet = workbook.getSheetAt(i);
System.out.println("Sheet " + i + ":");
// 获取sheet中所有行的数据 int lastRowNum = sheet.getLastRowNum();
for (int j =0; j <= lastRowNum; j++) {
HSSFRow row = sheet.getRow(j);
if (row != null) {
int lastCellNum = row.getLastCellNum();
for (int k =0; k < lastCellNum; k++) {
HSSFCell cell = row.getCell(k);
System.out.print(cell.getStringCellValue() + " ");
}
System.out.println();
}
}
}
fileInputStream.close();
}
}
### 导出 Excel要导出 Excel 文件,我们需要使用 `HSSFWorkbook` 类来创建一个新的 Excel 文件,然后将 Java 对象写入到该文件中。
#### 步骤1:添加依赖项首先,我们需要在我们的 Maven 或 Gradle项目中添加 POI 库的依赖项:
xml<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency>
#### 步骤2:创建 Excel 文件接下来,我们需要使用 `HSSFWorkbook` 类来创建一个新的 Excel 文件:
javaimport org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class ExportExcel {
public static void main(String[] args) throws IOException {
// 创建一个新的 Excel 文件 HSSFWorkbook workbook = new HSSFWorkbook();
POIFSFileSystem poifsFileSystem = new POIFSFileSystem();
// 获取工作簿中的所有sheet int numberOfSheets = workbook.getNumberOfSheets();
for (int i =0; i < numberOfSheets; i++) {
HSSFSheet sheet = workbook.getSheetAt(i);
System.out.println("Sheet " + i + ":");
// 获取sheet中所有行的数据 int lastRowNum = sheet.getLastRowNum();
for (int j =0; j <= lastRowNum; j++) {
HSSFRow row = sheet.getRow(j);
if (row != null) {
int lastCellNum = row.getLastCellNum();
for (int k =0; k < lastCellNum; k++) {
HSSFCell cell = row.getCell(k);
System.out.print(cell.getStringCellValue() + " ");
}
System.out.println();
}
}
}
// 将 Excel 文件写入到磁盘中 FileOutputStream fileOutputStream = new FileOutputStream(new File("example.xlsx"));
workbook.write(fileOutputStream);
fileOutputStream.close();
System.out.println("Excel 文件已导出!");
}
}
在这个文档中,我们介绍了如何使用 Java POI 导入 Excel 文件和导出 Excel 文件。我们提供了示例代码和注释,以帮助您理解这些过程。

