Apache POI操作Excel文档的常用方法总结
版权申诉
61 浏览量
更新于2024-06-29
收藏 717KB DOCX 举报
POI操作Excel常用方法总结及对excel的读写举例讲述
Apache POI 是 Apache 软件基金会的开放源码函式库,提供 API 给 Java 程序对 Microsoft Office 格式档案读和写的功能。POI 通过 HSSF(Horrible SpreadSheet Format 的缩写)提供了读取、写入、修改 Excel 文件的功能。
一、POI 简介
POI 是一个开放源码函式库,由 Apache 软件基金会维护。POI 提供了 API 给 Java 程序,使其可以对 Microsoft Office 格式档案进行读和写操作。POI 的主要功能是读取、写入、修改 Excel 文件。
二、HSSF 概况
HSSF 是 Horrible SpreadSheet Format 的缩写,通过 HSSF,可以用纯 Java 代码来读取、写入、修改 Excel 文件。HSSF 为读取操作提供了两类 API:usermodel 和 eventusermodel,即“用户模型”和“事件-用户模型”。
HSSF 的主要组件包括:
* HSSFWorkbook:Excel 文档对象
* HSSFSheet:Excel 的 sheet
* HSSFRow:Excel 的行
* HSSFCell:Excel 的单元格
* HSSFFont:Excel 字体
* HSSFName:名称
* HSSFDataFormat:日期格式
* HSSFHeader:sheet 头
三、POI EXCEL 文档结构类
POI 的文档结构类主要包括:
* HSSFWorkbook:Excel 文档对象
* HSSFSheet:Excel 的 sheet
* HSSFRow:Excel 的行
* HSSFCell:Excel 的单元格
四、EXCEL 常用操作方法
1. 取得 sheet 的数目
可以使用 `wb.getNumberOfSheets()` 方法来取得 sheet 的数目。
2. 取得一行的有效单元格个数
可以使用 `row.getLastCellNum()` 方法来取得一行的有效单元格个数。
3. 得到 Excel 常用对象
可以使用 `POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("d:/test.xls"));` 语句来得到 Excel 文件对象,然后可以使用 `HSSFWorkbook wb = new HSSFWorkbook();` 语句来创建一个新的 Excel 工作簿对象。
4. 建立 Excel 常用对象
可以使用 `HSSFWorkbook wb = new HSSFWorkbook();` 语句来创建一个新的 Excel 工作簿对象,然后可以使用 `HSSFSheet sheet = wb.getSheetAt(0);` 语句来取得第一个 sheet 对象。
5. 读取 Excel 文件
可以使用 `POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("d:/test.xls"));` 语句来读取 Excel 文件,然后可以使用 `HSSFWorkbook wb = new HSSFWorkbook(fs);` 语句来创建一个新的 Excel 工作簿对象。
6. 写入 Excel 文件
可以使用 `HSSFWorkbook wb = new HSSFWorkbook();` 语句来创建一个新的 Excel 工作簿对象,然后可以使用 `wb.write(new FileOutputStream("d:/test.xls"));` 语句来写入 Excel 文件。
POI 是一个功能强大且灵活的 Java 库,提供了对 Microsoft Office 格式档案的读和写功能。通过使用 POI,可以轻松地对 Excel 文件进行读取、写入、修改操作,满足各种业务需求。
253 浏览量
149 浏览量
2021-09-13 上传
2022-06-30 上传
2022-11-03 上传
G11176593
- 粉丝: 6927
- 资源: 3万+
最新资源
- 埃森哲如何帮助沃尔玛成就卓越绩效
- ElectricRCAircraftGuy/MATLAB-Arduino_PPM_Reader_GUI:使用 Arduino 从 RC Tx 中的 PPM 信号中读取操纵杆和开关位置,并绘制和记录-matlab开发
- C#写的IOC反转控制源代码例子
- 供应商质量体系监察表
- Hedgewars: Continental supplies:centinental 供应的“主要”开发页面-开源
- 元迁移学习的小样本学习(Meta-transfer Learning for Few-shot Learning).zip
- .NET Core手写ORM框架专题-代码+脚本
- 《物流管理》第三章 物流系统
- Python_Basic:关于python的基本知识
- 王者荣耀段位等级图标PNG
- 使用 PVsystem 升压转换器的逆变器设计.mdl:带有使用 PV 的升压转换器的简单逆变器模型-matlab开发
- touchpad_synaptics_19.0.24.5_w1064.7z
- Analise播放列表做Spotify --- Relatorio-Final
- 开放式旅行商问题 - 遗传算法:使用 GA 为 TSP 的“开放式”变体找到近乎最优的解决方案-matlab开发
- fr.eni.frontend:培训前端
- kracs:克拉斯