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