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)来引用新的样式。