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)来引用新的样式。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于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)