当前位置:实例文章 » JAVA Web实例» [文章]java poi导入Excel、导出excel

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 文件。我们提供了示例代码和注释,以帮助您理解这些过程。

其他信息

其他资源

Top