Apache POI 介绍与使用指南

365体育手机版下载安装 📅 2026-01-28 19:59:39 👤 admin 👀 422 ❤️ 754
Apache POI 介绍与使用指南

文章框架

一、Apache POI 概述

定义:Java API操作Microsoft Office格式文件

核心功能:

读写Excel(.xls, .xlsx)

操作Word、PowerPoint等文档

优势:开源免费、跨平台、功能全面

二、环境准备

Maven依赖配置:

XML

复制代码

org.apache.poi

poi

org.apache.poi

poi-ooxml

三、案例代码

1.Excel写入实战(代码解析)

java

复制代码

public static void POITestWrite()throws Exception{

//在内存中创建Excel文件

XSSFWorkbook excel=new XSSFWorkbook();

//在Excel文件创建一个sheet页

XSSFSheet sheet=excel.createSheet("sheet1");

//在sheet对象页中创建行 从0开始为第一行

XSSFRow row1 = sheet.createRow(0);

//在行上创建单元格,并写入单元格内容 单元格也是从0开始 所以1是第二个单元格

row1.createCell(1).setCellValue("姓名");

row1.createCell(2).setCellValue("城市");

//创建第二行

XSSFRow row2 = sheet.createRow(1);

row2.createCell(1).setCellValue("张三");

row2.createCell(2).setCellValue("北京");

//创建第三行

XSSFRow row3 = sheet.createRow(2);

row3.createCell(1).setCellValue("李四");

row3.createCell(2).setCellValue("湖北");

//创建输出流

FileOutputStream out = new FileOutputStream(new File("D:\\sheet1.xlsx"));

//写入数据

excel.write(out);

//关闭输出流文件和excel文件

excel.close();

out.close();

}

关键点说明:

createRow()/createCell() 创建行列

单元格索引从0开始(A列=0, B列=1)

2.Excel读取实战(代码解析)

java

复制代码

public static void POITaskRead() throws Exception{

FileInputStream in = new FileInputStream(new File("D:\\sheet1.xlsx"));

//读取磁盘上的excel文件

XSSFWorkbook excel = new XSSFWorkbook(in);

//读取excel中第一个sheet页

XSSFSheet sheet = excel.getSheetAt(0);

//获取sheet中创建最后一行的行号

int lastRowNum = sheet.getLastRowNum();

//遍历行

for (int i=0;i<=lastRowNum;i++){

//获取对应行

XSSFRow row = sheet.getRow(i);

if(row!=null){

//获取单元格内容

String cellValue1 = row.getCell(1).getStringCellValue();

String cellValue2 = row.getCell(2).getStringCellValue();

System.out.println(cellValue1+" "+cellValue2);

}

}

//关闭输入流

in.close();

//关闭excel

excel.close();

}

关键点说明:

getLastRowNum() 获取最后一行索引

单元格类型处理:getStringCellValue()/getNumericCellValue()

空值处理建议:添加if (row != null)判断

三、应用场景

报表导出

数据批量导入

自动化测试数据生成

财务数据分析

四、总结

Apache POI是Java操作Excel的首选方案

提供从基础读写到高级功能的完整API

注意资源管理和异常处理确保稳定性

🍵 相关养生推荐

世界杯EF组最终积分榜:日本、西班牙携手出线
365bet体育投注地址

世界杯EF组最终积分榜:日本、西班牙携手出线

📅 08-21 👀 600
绝地求生十大神枪排行榜:M16A4上榜 第二传说中的枪
365体育手机版下载安装

绝地求生十大神枪排行榜:M16A4上榜 第二传说中的枪

📅 06-28 👀 567
上天下海无所不能 德鲁伊必做职业形态任务攻略
365体育手机版下载安装

上天下海无所不能 德鲁伊必做职业形态任务攻略

📅 10-22 👀 4890
2010年国际足联世界杯
365bet体育投注地址

2010年国际足联世界杯

📅 07-09 👀 1696
VLC 媒体播放器无法显示视频,但音频正常。
怎么无限注册365游戏账号

VLC 媒体播放器无法显示视频,但音频正常。

📅 09-04 👀 9740