位置:excel百科网-关于excel知识普及与知识讲解 > 资讯中心 > excel百科 > 文章详情

java excel poi 创建

作者:excel百科网
|
180人看过
发布时间:2026-01-17 09:23:32
标签:
Java Excel Poi 创建:从基础到进阶的全面指南Java 中的 Excel 处理功能在数据交互和业务逻辑中扮演着重要角色。随着 Java 开发的不断深入,Apache POI 成为了最主流、最权威的 Java Exc
java excel poi 创建
Java Excel Poi 创建:从基础到进阶的全面指南
Java 中的 Excel 处理功能在数据交互和业务逻辑中扮演着重要角色。随着 Java 开发的不断深入,Apache POI 成为了最主流、最权威的 Java Excel 处理库之一。本文将围绕 Java Excel Poi 创建 的核心内容,从基础到进阶,系统地介绍如何利用 Apache POI 实现 Excel 文件的创建、读取、写入和修改,帮助开发者在实际项目中高效、稳定地处理 Excel 数据。
一、Apache POI 简介与核心功能
Apache POI 是一个 Java 框架,用于处理 Microsoft Office 文档,包括 Excel(.xls 和 .xlsx)Word(.doc 和 .docx) 等格式。它提供了丰富的 API,支持创建、读取、写入 Excel 文件,是 Java 开发者在处理 Excel 数据时不可或缺的工具。
Apache POI 的核心功能包括:
- 创建 Excel 文件:支持生成 `.xls` 和 `.xlsx` 格式的 Excel 文件。
- 读取 Excel 文件:支持读取 `.xls` 和 `.xlsx` 文件内容。
- 写入 Excel 文件:支持将 Java 数据写入 Excel 文件。
- 修改 Excel 文件:支持修改 Excel 文件中的数据、格式、公式等。
- 处理 Excel 中的复杂数据:如合并单元格、设置样式、处理公式、数据验证等。
Apache POI 的核心组件包括:
- HSSF:用于处理 `.xls` 格式。
- XSSF:用于处理 `.xlsx` 格式。
- Workbook:代表 Excel 文件对象。
- Sheet:代表 Excel 工作表。
- Row:代表 Excel 行。
- Cell:代表 Excel 单元格。
- CellStyle:用于设置单元格样式。
二、Java Excel Poi 创建的步骤与实现
1. 添加依赖
在使用 Apache POI 之前,需要在项目中添加对应的依赖。常见的 Maven 依赖如下:
xml

org.apache.poi
poi
5.2.3


org.apache.poi
poi-ooxml
5.2.3


这些依赖提供了对 `.xls` 和 `.xlsx` 格式的支持。
2. 创建 Excel 文件
创建 Excel 文件的基本步骤如下:
1. 创建 Workbook 对象:通过 `WorkbookFactory` 或 `XSSFWorkbook` 创建 Excel 文件。
2. 创建 Sheet 对象:创建新的工作表。
3. 创建 Row 对象:创建新的行。
4. 创建 Cell 对象:创建新的单元格。
5. 设置单元格内容:通过 `setCellValue()` 方法设置单元格的值。
6. 保存文件:使用 `write()` 方法保存文件。
示例代码如下:
java
import org.apache.poi.ss.usermodel.;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;
public class ExcelCreate
public static void main(String[] args) throws IOException
// 创建 Workbook
Workbook workbook = new XSSFWorkbook();
// 创建 Sheet
Sheet sheet = workbook.createSheet("Sheet1");
// 创建 Row
Row row = sheet.createRow(0);
// 创建 Cell
Cell cell = row.createCell(0);
// 设置内容
cell.setCellValue("Hello, World!");
// 保存文件
try (FileOutputStream fos = new FileOutputStream("example.xlsx"))
workbook.write(fos);



这段代码创建了一个名为 `example.xlsx` 的 Excel 文件,并在第一行第一列写入了“Hello, World!”。
3. 修改 Excel 文件
修改 Excel 文件的核心操作包括:
- 修改单元格内容:使用 `setCellValue()` 方法。
- 设置单元格格式:使用 `setCellStyle()` 方法。
- 设置单元格值:使用 `setCellValue()` 方法。
- 设置单元格数据验证:通过 `setDataValidation()` 方法。
示例代码如下:
java
import org.apache.poi.ss.usermodel.;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;
public class ExcelModify
public static void main(String[] args) throws IOException
// 创建 Workbook
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Sheet1");
Row row = sheet.createRow(0);
Cell cell = row.createCell(0);
cell.setCellValue("Hello, World!");
// 修改内容
cell.setCellValue("Modified Content!");
// 保存文件
try (FileOutputStream fos = new FileOutputStream("example.xlsx"))
workbook.write(fos);



这段代码将“Hello, World!”修改为“Modified Content!”。
4. 读取 Excel 文件
读取 Excel 文件的步骤包括:
1. 创建 Workbook 对象
2. 获取 Sheet 对象
3. 获取 Row 对象
4. 获取 Cell 对象
5. 读取内容
示例代码如下:
java
import org.apache.poi.ss.usermodel.;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileInputStream;
import java.io.IOException;
public class ExcelRead
public static void main(String[] args) throws IOException
// 创建 Workbook
Workbook workbook = new XSSFWorkbook(new FileInputStream("example.xlsx"));
Sheet sheet = workbook.getSheet("Sheet1");
Row row = sheet.getRow(0);
Cell cell = row.getCell(0);
String value = cell.toString();
System.out.println("读取到的内容:" + value);


这段代码读取了 `example.xlsx` 文件中的第一行第一列内容,并打印出来。
三、Java Excel Poi 创建的高级功能
1. 读取 Excel 中的数据
读取 Excel 中的数据,可以使用 `Row` 和 `Cell` 对象,通过 `getNumericCellValue()`、`getStringCellValue()` 等方法获取数据。
例如,读取某个单元格中的数值或字符串:
java
Cell cell = row.getCell(0);
if (cell.getCellType() == CellType.NUMERIC)
System.out.println("数值:" + cell.getNumericCellValue());
else if (cell.getCellType() == CellType.STRING)
System.out.println("字符串:" + cell.getStringCellValue());

2. 读取 Excel 中的公式
Excel 中的公式可以在 `Cell` 对象中使用 `getFormula()` 方法获取。
java
Cell cell = row.getCell(0);
String formula = cell.getFormula();
System.out.println("公式:" + formula);

3. 读取 Excel 中的格式
Excel 中的格式包括字体、颜色、边框等,可以通过 `CellStyle` 对象设置。
java
CellStyle cellStyle = workbook.createCellStyle();
cellStyle.setAlignment(HorizontalAlignment.CENTER);
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
cellStyle.setWrapText(true);
cellStyle.setFillForegroundColor(IndexedColors.YELLOW.getIndex());
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);

四、Java Excel Poi 创建的进阶应用
1. 创建多页 Excel 文件
Apache POI 支持创建多个工作表,可以通过 `createSheet()` 方法多次调用。
java
Sheet sheet1 = workbook.createSheet("Sheet1");
Sheet sheet2 = workbook.createSheet("Sheet2");

2. 创建 Excel 中的图表
Apache POI 支持在 Excel 中插入图表,可以通过 `createChart()` 方法实现。
java
Chart chart = workbook.createChart();
chart.setChartType(ChartType.LINE);
chart.setTitle("Line Chart");

3. Excel 文件的格式转换
Apache POI 支持将 Excel 文件转换为其他格式,如 CSV、JSON 等。可以通过 `write()` 方法写入到文件,或者通过 `Workbook` 的 `write()` 方法生成新文件。
五、Java Excel Poi 创建的注意事项
1. 文件的保存与关闭
在保存 Excel 文件时,需要确保 `FileOutputStream` 正确关闭,以避免资源泄露。
java
try (FileOutputStream fos = new FileOutputStream("example.xlsx"))
workbook.write(fos);
catch (IOException e)
e.printStackTrace();

2. 处理异常
在处理 Excel 文件时,需要考虑异常情况,如文件不存在、格式错误等。
java
try
Workbook workbook = new XSSFWorkbook(new FileInputStream("example.xlsx"));
catch (IOException e)
System.err.println("文件读取失败:" + e.getMessage());

3. 优化性能
对于大规模数据的读取和写入,建议使用流式处理,避免内存溢出。
六、Java Excel Poi 创建的总结
Java 中的 Excel 处理功能可以通过 Apache POI 实现,它提供了丰富的 API,支持创建、读取、写入、修改 Excel 文件。从基础的文件创建到复杂的格式处理,Apache POI 都能够满足开发者的需求。
在实际开发中,开发者需要根据具体需求选择合适的 API,如 `XSSFWorkbook` 用于 `.xlsx` 文件,`HSSFWorkbook` 用于 `.xls` 文件。同时,需要注意文件的保存、异常处理和性能优化。
通过掌握 Apache POI 的核心功能和高级用法,开发者可以高效地处理 Excel 数据,提升数据交互的效率与稳定性。
七、
Java Excel Poi 创建是一项非常实用的技术,它不仅能够帮助开发者快速生成和处理 Excel 文件,还能满足复杂的数据处理需求。随着 Java 开发的不断深入,Apache POI 的功能也在持续完善,开发者可以不断学习和应用,提升自己的数据处理能力。
在实际项目中,合理使用 Apache POI,可以显著提高数据处理的效率和质量,是 Java 开发者不可或缺的技能之一。希望本文能够为读者提供有价值的参考,助力于 Java 数据处理的实践与提升。
下一篇 : java excel rowstyle
推荐文章
相关文章
推荐URL
基于WinForm的Excel控件开发详解在软件开发领域,WinForm 是 .NET 平台中一个历史悠久的 GUI(图形用户界面)框架,它提供了丰富的控件集合,其中包括 Excel 控件。Excel 控件在 WinForm 应用中具
2026-01-17 09:19:45
122人看过
WinForm 与 Excel 的深度结合:开发者的实用指南 一、WinForm 与 Excel 的基础概念WinForm 是 Microsoft .NET 框架中的一种 GUI(图形用户界面)开发技术,它提供了一套丰富的控件集合
2026-01-17 09:19:24
300人看过
在Excel中如何筛选相同数据:深度解析与实用技巧Excel作为一款广泛应用于数据处理和分析的办公软件,其强大的功能为用户提供了丰富的操作方式。在实际工作中,用户常常需要对数据进行筛选,以提取出符合特定条件的记录。本文将围绕“在Exc
2026-01-17 09:18:30
267人看过
Spring导入Excel的深度解析与实践指南在Java开发领域,Spring框架以其强大的功能和灵活的配置方式,成为企业级应用开发的首选。其中,Excel数据导入与导出是常见的业务需求,尤其在数据处理、报表生成等方面应用广泛。本文将
2026-01-17 09:17:14
393人看过
热门推荐
热门专题:
资讯中心: