大家好!🌟 在这篇文章中,我们将带你深入学习如何使用 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,并添加以下代码。
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 文件,实现数据的导入、导出以及格式化等操作。无论你是进行数据分析还是生成报表,这些知识都能大大提升你的开发效率。👨💻📊
🎉 感谢大家阅读到这里! 🎉 如果这篇文章对你有所帮助,请给我们一个 点赞👍 ,并 收藏📌 !如果你想看到更多类似的技术分享,不要忘记点击 关注👀!如果你有任何问题或想法,欢迎在评论区留言📝,我们非常期待与你的互动!🚀
别忘了分享给你的朋友们,让更多人受益哦!😉