POI使用cell.getCellStyle()设置指定单元格颜色其它没有指定的单元格也会变色
来源:互联网 发布:acm编程大赛题目 编辑:程序博客网 时间:2024/04/28 12:51
如果你在使用POI创建xls的时候需要处理cell的样式,例如右对齐,那么你可能会像我一样使用如下的方法
....
HSSFCell cell = row.createCell((short)i);
cell.getCellStyle().setAlignment(HSSFCellStyle.ALIGN_RIGHT);
....
你可能发现创建后的excel文件所有的列都变成右对齐了...
翻了翻代码,还挺复杂,大意就是在创建的xls的时候会产生若干默认的ExtendedFormatRecord,这样在调用row.createCell((short)i)创建普通的cell的时候,如果POI没有办法根据cell信息(i)找到对应的ExtendedFormatRecord,则会返回固定的一个(at 0xF),这样在每次getCellStyle的时候返回的都是同一个style的reference. 所以对它的修改会影响整个xls文档.
(上面说的不严谨,仅供参考)
....
cell.getCellStyle().setAlignment(HSSFCellStyle.ALIGN_RIGHT);
翻了翻代码,还挺复杂,大意就是在创建的xls的时候会产生若干默认的ExtendedFormatRecord,这样在调用row.createCell((short)i)创建普通的cell的时候,如果POI没有办法根据cell信息(i)找到对应的ExtendedFormatRecord,则会返回固定的一个(at 0xF),这样在每次getCellStyle的时候返回的都是同一个style的reference. 所以对它的修改会影响整个xls文档.
(上面说的不严谨,仅供参考)
//所以如果你需要修改某个cell的样式,如下 HSSFCell cell = row.createCell((short)i); HSSFCellStyle cStyle = wb.createCellStyle(); cStyle.setAlignment(HSSFCellStyle.ALIGN_RIGHT); cell.setCellStyle(cStyle); cell.setCellStyle(cStyle);
0 0
- POI使用cell.getCellStyle()设置指定单元格颜色其它没有指定的单元格也会变色
- POI设置导出的EXCEL锁定指定的单元格
- 在指定单元格中显示/修改其它单元格的批注
- 可修改指定单元格颜色的ListCtrl
- POI 设置单元格背景颜色
- POI 设置单元格背景颜色
- POI 设置单元格背景颜色
- POI设置单元格背景颜色
- 如何使指定ITEM单元格变色?
- 设置java中JTable单元格指定文字颜色
- poi导出excel指定单元格格式
- 使用POI来格式化Cell单元格样式
- POI 设置单元格背景颜色(附图)
- 按条件指定MSHFlexGrid单元格字体颜色
- element指定表格某个单元格颜色
- PHPExcel 合并指定的单元格
- 如何使指定ITEM单元格变色?(原创)
- 如何使指定ITEM单元格变色?(原创)
- Go网络编程
- Sunny谈软件架构
- 监听器和web国际化
- office 2010的规划求解和数据分析在什么地方,怎么加载office2010规划求解和数据分析
- 软件工程-可重用构件的特点
- POI使用cell.getCellStyle()设置指定单元格颜色其它没有指定的单元格也会变色
- C# MD5加密工具类
- 面向对象的5条基本设计原则
- Redis安装
- top k算法的3种简单实现和比较
- java中的数字签名
- html object元素
- var file_upl = document.getElementById('file_upl'); file_upl.select(); var realpath = d
- 使用FileUpload组件实现文件上传