使用 Apache POI 在 Java 中写入 Excel 文件的方法
作者:大名顶顶
大家好!🌟 在这篇文章中,我们将带你深入学习如何使用 Apache POI 在 Java 中编写 Excel 文件的技巧!📊📚 如果你是 Java 开发者,或者正在探索如何处理 Excel 文件的数据,那么这篇文章绝对不容错过!🚀
在这里,我们不仅仅是介绍基础的 Excel 文件写入方法,还会通过详细的步骤和代码示例,帮助你快速上手。✨ 通过本篇文章,你将掌握如何创建 Excel 文件、如何插入数据以及如何使用 Apache POI 简单而高效地操作 Excel 文件!📑💻
如果你觉得这篇文章对你有帮助,请不要忘记点赞👍,收藏📌,并关注我们获取更多技术分享!还可以在下方评论📝,和我们分享你的学习心得和问题!💬
一.准备工作
关于 Apache POI 项目
Apache POI 项目的使命是创建和维护 Java API,以操作基于 Office Open XML 标准(OOXML)和 Microsoft 的 OLE 2 复合文档格式(OLE2)的各种文件格式。简而言之,您可以使用 Java 读取和写入 MS Excel 文件。
在 Java 中读写 Excel 时,您会遇到两个前缀:
HSSF:用于处理 2003 或更早版本的 Excel 文件(.xls)。一些带有 HSSF 前缀的类包括 HSSFWorkbook、HSSFSheet、HSSFRow 和 HSSFCell。
XSSF:用于处理 2007 或更高版本的 Excel 文件(.xlsx)。一些带有 XSSF 前缀的类包括 XSSFWorkbook、XSSFSheet、XSSFRow 和 XSSFCell。
以下是您需要了解的一些类:
Workbook:这是表示 Excel 工作簿的高级类。
Sheet:这是表示 Excel 工作表的高级类。
Row:这是表示 Excel 行的高级类。它具有与行相关的方法。
Cell:这是表示单个 Excel 单元格的高级类。它具有与单元格相关的方法,例如:getDataType()。
依赖项:
如果您使用 Maven,您需要在 pom.xml 中添加以下依赖项。
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.13</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.13</version> </dependency>
如果您没有使用 Maven,则需要将以下 JAR 文件添加到类路径中。
- poi-3.13.jar
- commons-codec-1.9.jar
- poi-ooxml-3.13.jar
- poi-ooxml-schemas-3.13.jar
- xmlbeans-2.6.0.jar
- stax-api-1.0.1.jar
二.使用 POI 写入 Excel 文件的步骤
1.创建一个空白工作簿:
XSSFWorkbook workbook = new XSSFWorkbook();
2.创建一个工作表并传递工作表名称:
XSSFSheet sheet = workbook.createSheet("Country");
3.创建一行:
Row row = sheet.createRow(rownum++);
4.创建单元格,设置其值并将单元格添加到上述行:
Cell cell = row.createCell(cellnum++); if (obj instanceof String) cell.setCellValue((String) obj); else if (obj instanceof Double) cell.setCellValue((Double) obj); else if (obj instanceof Integer) cell.setCellValue((Integer) obj);
5.重复步骤 3 和 4,直到您有数据。
三.java实现代码
我们将编写名为“CountriesDetails.xlsx”的 Excel 文件。
请创建 WriteExcelMain.java,并添加以下代码。
// 引入所需的包 package org.arpit.java2blog; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; // 引入 Apache POI 库中的相关类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class WriteExcelMain { // 主方法,程序入口 public static void main(String[] args) throws IOException { writeFileUsingPOI(); // 调用写文件的方法 } // 定义写入 Excel 文件的方法 public static void writeFileUsingPOI() throws IOException { // 创建一个空的工作簿 XSSFWorkbook workbook = new XSSFWorkbook(); // 创建一个空的工作表,并命名为 "Country" XSSFSheet sheet = workbook.createSheet("Country"); // 创建一个数据集合,包含一些示例数据 ArrayList<Object[]> data = new ArrayList<Object[]>(); data.add(new String[]{"Country", "Capital", "Population"}); // 添加标题行 data.add(new Object[]{"India", "Delhi", 10000}); // 添加数据行 data.add(new Object[]{"France", "Paris", 40000}); data.add(new Object[]{"Germany", "Berlin", 20000}); data.add(new Object[]{"England", "London", 30000}); // 遍历数据集合,并将每一行数据写入 Excel 工作表 int rownum = 0; for (Object[] countries : data) { // 创建行并设置行号 Row row = sheet.createRow(rownum++); int cellnum = 0; // 遍历每一行的数据并创建单元格 for (Object obj : countries) { Cell cell = row.createCell(cellnum++); // 根据数据类型设置单元格的值 if (obj instanceof String) cell.setCellValue((String) obj); // 如果数据是字符串,设置为字符串 else if (obj instanceof Double) cell.setCellValue((Double) obj); // 如果数据是 Double 类型,设置为数字 else if (obj instanceof Integer) cell.setCellValue((Integer) obj); // 如果数据是 Integer 类型,设置为数字 } } // 将工作簿写入文件系统 try { // 创建输出流,将数据写入 "CountriesDetails.xlsx" 文件 FileOutputStream out = new FileOutputStream(new File("CountriesDetails.xlsx")); workbook.write(out); // 写入数据 out.close(); // 关闭输出流 System.out.println("CountriesDetails.xlsx has been created successfully"); // 输出提示信息 } catch (Exception e) { e.printStackTrace(); // 异常处理 } finally { // 最后关闭工作簿 workbook.close(); } } }
当您运行上述程序时,您将得到以下输出:
CountriesDetails.xlsx has been created successfully
现在,让我们查看 CountriesDetails.xlsx
文件的内容。
在本篇文章中,我们详细介绍了如何使用 Apache POI 在 Java 中创建和写入 Excel 文件。通过几个简单的步骤和示例代码,你学会了如何创建一个空白的 Excel 工作簿、添加数据并将其保存到文件中。我们还介绍了 POI 库的基本使用,如何根据不同的 Excel 文件版本选择适当的前缀(HSSF 和 XSSF),并提供了 Maven 和非 Maven 项目的依赖项设置。
通过这些步骤,你将能够轻松地在 Java 项目中处理 Excel 文件,实现数据的导入、导出以及格式化等操作。无论你是进行数据分析还是生成报表,这些知识都能大大提升你的开发效率。👨💻📊
到此这篇关于如何使用 Apache POI 在 Java 中写入 Excel 文件的文章就介绍到这了,更多相关Apache POI在 Java 中写入 Excel内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!