Apache POI 3.5 Excel操作指南
需积分: 31 52 浏览量
更新于2024-09-21
收藏 1.36MB PDF 举报
"POI3.5 HSSF与XSSF Excel操作快速入门手册"
Apache POI 是一个开源项目,主要用于读写Microsoft Office格式的文件,尤其是Excel。本手册针对的是POI 3.5版本,主要讲解如何使用HSSF和XSSF两个API来操作Excel。
1. 添加POI支持
要使用POI库,首先需要在项目中引入相应的JAR文件,这些文件包含了处理Excel所需的所有类和方法。然后通过导入必要的包,如`org.apache.poi.hssf.usermodel`和`org.apache.poi.xssf.usermodel`,可以开始进行Excel的操作。
2. 创建新工作簿
创建一个新的Excel工作簿,可以使用`HSSFWorkbook`(用于旧版的.BIFF8格式,即97-2003版本的Excel)或`XSSFWorkbook`(用于.xlsx格式,2007及以上版本)。例如:
```java
HSSFWorkbook workbook = new HSSFWorkbook();
XSSFWorkbook workbook = new XSSFWorkbook();
```
3. 创建新sheet页
在工作簿中添加新的sheet页,可以通过调用`workbook.createSheet()`方法完成,返回值是Sheet对象,代表一个Excel的工作表。
```java
Sheet sheet = workbook.createSheet("Sheet1");
```
4. 创建单元格
在Sheet中创建单元格,使用`Row.createCell()`方法,指定单元格类型(如STRING, NUMERIC, BOOLEAN等)。
```java
Row row = sheet.createRow(0);
Cell cell = row.createCell(0, CellType.STRING);
cell.setCellValue("Hello, POI!");
```
5. 新建一个时间格式的单元格
对于日期和时间,需要将单元格类型设置为NUMERIC,并使用`DateUtil.isCellDateFormatted(cell)`检查是否为日期格式。
```java
cell.setCellType(CellType.NUMERIC);
cell.setCellValue(new Date());
```
6. 处理不同内容格式的单元格
POI提供了多种单元格格式,如数字、字符串、布尔值等,可以使用`CellStyle`对象来设置单元格的样式。
7. 遍历列和单元格
可以通过迭代Sheet中的行和行中的单元格来访问所有数据。
```java
for (Row r : sheet) {
for (Cell c : r) {
// 处理单元格内容
}
}
```
8. 获取单元格内的内容
`cell.getStringCellValue()`获取字符串,`cell.getNumericCellValue()`获取数字,`cell.getBooleanCellValue()`获取布尔值。
9. 文本提取
对于长文本,可能需要使用`DataFormatter`类来正确格式化和提取内容。
10. 单元格边框
可以使用`CellStyle`对象设置单元格的边框样式,包括边框颜色、宽度等。
11. 填充色和颜色操作
同样通过`CellStyle`,可以设置单元格的背景色,使用`FillPatternType`和`Color`。
12. 合并单元格
使用`Sheet.mergeCells(startRow, startCol, endRow, endCol)`合并多个单元格。
13. 字体的处理
`Font`对象允许设置字体样式,如大小、颜色、斜体、加粗等。
14. 自定义颜色
POI允许创建自定义颜色,通过`IndexedColors`枚举或自定义`Color`对象。
15. 读取和重写工作簿
读取现有工作簿使用`WorkbookFactory.create(InputStream)`,完成后通过`workbook.write(OutputStream)`保存到输出流。
16. 在单元格中使用换行
使用`CellStyle.wrapText(true)`启用自动换行。
17. 创建用户自定义数据格式
创建自定义的数字格式,通过`CellStyle.setDataFormat(DataFormat.createFormat(formatString))`。
18. Sheet页自适应页面大小
使用`Sheet.fitToPage()`使内容适应页面大小。
19. 设定打印区域
通过`Sheet.setPrintArea()`设置打印范围。
20. 设置脚注页码
可以添加脚注并设置页码,使用`Row.createCell()`创建脚注单元格。
21. 上下移动一行
通过`Row.moveRow(int currentRowNum, int targetRowNum)`移动行。
22. 将sheet页设定为默认选中
`Sheet.setSelected(true)`设置默认选中。
23. 设置sheet页放大倍率
使用`Sheet.setZoom(int numerator, int denominator)`设置放大比例。
24. 拆分和冻结窗格
`Sheet.createFreezePane()`和`Sheet.createSplitPane()`实现窗口拆分和冻结。
25. 重复列和行
`Sheet.setRepeatingRows()`和`Sheet.setRepeatingColumns()`用于设置重复的行和列。
26. 页眉和页脚
通过`Header`和`Footer`对象设置页眉和页脚的内容。
27. 绘制图形
使用`Drawing`接口创建图形对象,设置位置、大小和样式。
28. 设置图形样式
通过`ClientAnchor`和`Picture`对象定制图形样式。
以上是POI 3.5中HSSF和XSSF操作Excel的基本知识点,这些API提供了创建、读取、修改Excel文件的强大功能,满足各种复杂的需求。
2008-10-23 上传
239 浏览量
2013-08-18 上传
2013-05-31 上传
2020-11-23 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
yc49957299
- 粉丝: 1
- 资源: 32
最新资源
- NIST REFPROP问题反馈与解决方案存储库
- 掌握LeetCode习题的系统开源答案
- ctop:实现汉字按首字母拼音分类排序的PHP工具
- 微信小程序课程学习——投资融资类产品说明
- Matlab犯罪模拟器开发:探索《当蛮力失败》犯罪惩罚模型
- Java网上招聘系统实战项目源码及部署教程
- OneSky APIPHP5库:PHP5.1及以上版本的API集成
- 实时监控MySQL导入进度的bash脚本技巧
- 使用MATLAB开发交流电压脉冲生成控制系统
- ESP32安全OTA更新:原生API与WebSocket加密传输
- Sonic-Sharp: 基于《刺猬索尼克》的开源C#游戏引擎
- Java文章发布系统源码及部署教程
- CQUPT Python课程代码资源完整分享
- 易语言实现获取目录尺寸的Scripting.FileSystemObject对象方法
- Excel宾果卡生成器:自定义和打印多张卡片
- 使用HALCON实现图像二维码自动读取与解码