Java如何操作Excel文件 Java使用POI读写电子表格教程

Java操作excel最常用的方式是使用apache poi库,1.引入poi依赖,maven项目添加poi-ooxml依赖;2.读取excel使用xssfworkbook或hssfworkbook打开文件,遍历sheet、row和cell读取内容并关闭资源;3.写入excel创建workbook、sheet、row和cell,设置单元格值并写入文件;4.注意文件格式兼容性、空指针异常、样式设置、性能优化及资源关闭等问题。poi功能强大且适用性强,适用于大多数业务场景。

Java如何操作Excel文件 Java使用POI读写电子表格教程

Java操作Excel文件最常用的方式是使用Apache POI库,它支持.xls和.xlsx格式,功能强大,适用性强。如果你需要从Java程序中读取或写入Excel文件,POI是一个非常合适的选择。

Java如何操作Excel文件 Java使用POI读写电子表格教程

下面我们就来一步步看看如何使用POI来读写Excel文件,适用于大多数业务场景。


一、引入POI依赖

在开始编码之前,首先要确保项目中已经引入了Apache POI的依赖。如果你使用的是Maven项目,可以在pom.xml中添加如下依赖:

立即学习Java免费学习笔记(深入)”;

Java如何操作Excel文件 Java使用POI读写电子表格教程

<dependency>     <groupId>org.apache.poi</groupId>     <artifactId>poi-ooxml</artifactId>     <version>5.2.3</version> </dependency>

这个依赖包含了处理.xlsx格式所需的所有类。如果你还需要处理旧版.xls格式,也可以单独引入poi依赖。


二、使用POI读取Excel文件

读取Excel文件是常见的需求,比如导入数据、分析报表等。以下是一个简单的读取.xlsx文件的示例:

Java如何操作Excel文件 Java使用POI读写电子表格教程

import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook;  import java.io.File; import java.io.FileInputStream; import java.io.IOException;  public class ExcelReader {     public static void main(String[] args) throws IOException {         FileInputStream fis = new FileInputStream(new File("data.xlsx"));         Workbook workbook = new XSSFWorkbook(fis);         Sheet sheet = workbook.getSheetAt(0);          for (Row row : sheet) {             for (Cell cell : row) {                 System.out.print(cell.toString() + "t");             }             System.out.println();         }          workbook.close();         fis.close();     } }
  • 使用XSSFWorkbook打开.xlsx文件
  • 遍历Sheet中的每一行和每个单元格
  • 注意关闭资源(Workbook和FileInputStream)

小提示:如果读取的是.xls文件,可以使用HSSFWorkbook代替XSSFWorkbook。


三、使用POI写入Excel文件

写入Excel文件通常用于导出数据或生成报表。POI提供了非常灵活的API来创建和操作单元格内容。

import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook;  import java.io.FileOutputStream; import java.io.IOException;  public class ExcelWriter {     public static void main(String[] args) throws IOException {         Workbook workbook = new XSSFWorkbook();         Sheet sheet = workbook.createSheet("Sheet1");          Row headerRow = sheet.createRow(0);         Cell headerCell = headerRow.createCell(0);         headerCell.setCellValue("姓名");         headerRow.createCell(1).setCellValue("年龄");          Row dataRow = sheet.createRow(1);         dataRow.createCell(0).setCellValue("张三");         dataRow.createCell(1).setCellValue(25);          try (FileOutputStream fos = new FileOutputStream("output.xlsx")) {             workbook.write(fos);         }          workbook.close();     } }
  • 创建Workbook和Sheet
  • 创建行和单元格并设置值
  • 最后写入到文件并关闭资源

小技巧:写入大量数据时建议使用SXSSF(基于磁盘缓存)避免内存溢出。


四、常见问题与注意事项

在使用POI过程中,可能会遇到一些常见问题,这里列出几个关键点:

  • 文件格式不兼容:确保读取和写入时使用正确的类(如XSSF对应.xlsx,HSSF对应.xls)
  • 空指针异常:读取时注意判断行或单元格是否为NULL
  • 样式设置:可以通过CellStyle设置字体、背景色、边框等
  • 性能问题:大数据量读写时,建议使用SXSSF模式
  • 关闭资源:务必在finally块中关闭Workbook和流,避免内存泄漏

基本上就这些。POI虽然功能强大,但用起来并不复杂,只要掌握基本结构和API,就能满足大部分Excel操作需求。

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享