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
  • 设置单元格格式
  • 设置样式等复杂操作
  • 以及如何将修改后的内容写入新文件