豁然高

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

Java POI操作Excel注意点

excel的行索引和列索引都是从0开始,而行号和列号都是从1开始

POI·操作excel基本上都是使用索引

XSSFRow对象的 row.getLastCellNum() 方法返回的是当前行最后有效列的列号而不是列索引

XSSFSheet对象的 sheet.getLastRowNum() 方法返回的是当前sheet最后有效行的行索引而不是行号

 

XSSFCellStyle对象是由 XSSFWorkbook实例创建的,所以XSSFCellStyle对象是属于整个XSSFWorkbook实例对象的,而不是属于某一个特定的单元格

XSSFCell实例对象的cell.setCellStyle(cellStyle)指的是当前单元格的样式引用 XSSFWorkbook实例的cellStye样式,如果后面的操作中cellStyle的设置发生了改变,则此单元格的样式就发生了改变。

也就是说如果XSSFWorkbook实例的cellStye样式发生了改变,那所有引用此样式的单元格的样式都会发生改变

所以,如果只想改变某个单元格的样式,不能通过cell.getCellStyle()来获得cellStyle,再改变该cellStyle的方式,因为这同样会改变其他引用此样式的单元格的样式

只能使用XSSFWorkbook实例创建一个新的cellStyle样式,再使用cell.setCellStyle(cellStyle)来引用新的样式。

 

posted on   豁然高  阅读(358)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示