POI导入Excel全攻略:从基础到进阶的完整指南
行业新闻
2026-05-13 10:30
53
活动:桔子数据-爆款香港服务器,CTG+CN2高速带宽、快速稳定、平均延迟10+ms 速度快,免备案,每月仅需19元!! 点击查看
POI导入Excel全攻略:从基础到进阶的完整指南
在数据处理和报表生成中,Excel以其强大的功能和易用性,成为了很多企业和个人用户的首选工具。然而,当数据量达到一定规模时,手动输入和编辑Excel文件不仅耗时耗力,还容易出错。因此,通过编程语言自动导入数据到Excel中成为了一种高效、准确的解决方案。其中,Java的Apache POI库是常用的一个库,可以用于读取和写入Excel文件(.xls和.xlsx格式)。下面将为大家详细介绍如何使用POI导入Excel,从基础到进阶的完整指南。
一、环境准备
首先,确保你的开发环境中已经安装了Java和Maven(或其他依赖管理工具)。同时,需要添加POI的依赖到你的项目中。
Maven依赖:
org.apache.poi
poi
5.2.3
org.apache.poi
poi-ooxml
5.2.3
二、基础操作:创建和写入Excel文件
2.1 创建Excel文件并写入数据
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对象(对应一个Excel文件)
Workbook workbook = new XSSFWorkbook();
// 创建Sheet对象(对应Excel文件中的一张表)
Sheet sheet = workbook.createSheet("Sheet1");
// 创建行(行号从0开始)
Row row = sheet.createRow(0);
// 创建单元格并写入数据(单元格的列号从0开始)
Cell cell = row.createCell(0);
cell.setCellValue("Hello POI");
// 写入文件到磁盘(覆盖同名文件)
try (FileOutputStream outputStream = new FileOutputStream("example.xlsx")) {
workbook.write(outputStream);
} finally {
workbook.close();
}
}
}
上述代码创建了一个新的Excel文件,并在其中创建了一张名为"Sheet1"的表,然后在这个表中创建了一行一列的单元格并写入了"Hello POI"的文本。最后将这个Excel文件保存到磁盘上。
三、进阶操作:读取和修改Excel文件中的数据
3.1 读取Excel文件中的数据
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.*;
import java.util.*;
public class ExcelReader {
public static void main(String[] args) throws IOException {
// 读取Excel文件到内存中(不保存到磁盘)
try (InputStream inputStream = new FileInputStream("example.xlsx")) {
Workbook workbook = new XSSFWorkbook(inputStream);
Sheet sheet = workbook.getSheetAt(0); // 获取第一张表(索引从0开始)
Iterator rowIterator = sheet.iterator(); // 获取行迭代器
while (rowIterator.hasNext()) {
Row row = rowIterator.next(); // 获取当前行
Iterator| cellIterator = row.cellIterator(); // 获取当前行的单元格迭代器
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next(); // 获取当前单元格
switch (cell.getCellType()) { // 根据单元格类型处理数据
case STRING: System.out.print(cell.getStringCellValue() + " "); break;
case NUMERIC: System.out.print(cell.getNumericCellValue() + " "); break; …… 省略其他类型…… }
} …… } } finally { workbook.close(); } } } ``` **3.2 修改Excel文件中的数据** 要修改Excel文件中的数据,可以首先读取文件内容到内存中,对数据进行修改后,再写入到新的文件中。这里我们以在第一行的第二列添加数据为例: ```java // …省略读取文件部分… // 获取第一张表 Sheet sheet = workbook……getSheetAt(0); // 在第一行的第二列添加数据 Row row = sheet……createRow(0); Cell cell = row……createCell(1); cell……setCellValue("New Data"); // 将修改后的内容写入新文件 try (FileOutputStream outputStream = new FileOutputStream("modified_example……xlsx")) { workbook……write(outputStream); } finally { workbook……close(); } } ``` 通过以上代码,我们可以实现基础的Excel文件操作,包括创建、写入、读取和修改。但实际应用中可能还需要进行更复杂的操作,如处理多个Sheet、设置单元格格式、设置样式等。对于这些进阶操作,建议查阅POI官方文档和社区提供的教程进行学习。 |
标签:
- 1.**ApachePOI**:一个用于处理MicrosoftOffice文档的Java库
- 特别是用于读写Excel文件 2.**Excel导入**:通过编程自动将数据导入到Excel文件中的过程 3.**POI操作**:使用ApachePOI库进行Excel文件的创建
- 读取
- 写入和修改等操作 4.**环境准备**:开发环境中安装Java和Maven(或其他依赖管理工具)
- 并添加POI的依赖到项目中 5.**进阶操作**:包括处理多个Sheet
- 设置单元格格式
- 设置样式等复杂操作
- 以及如何将修改后的内容写入新文件