浏览 2775 次
锁定老帖子 主题:POI算定义颜色
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-11-30
今天在使用POI导出excel时需要设置背景颜色,经过查找发现说POI内置的只有56种颜色。
setColorAtIndex后面三个参数为颜色RGB。需要注意的是第一个参数不能超过64,内置颜色已经占据了56个了、所以你懂得。
主要代码:
public boolean obatinButtjointAnalyseList(List<String[]> list,HSSFWorkbook wb){ HSSFPalette hp=wb.getCustomPalette(); hp.setColorAtIndex((short)63, (byte)255, (byte)204, (byte)0); HSSFCellStyle cellStyle=wb.createCellStyle(); cellStyle.setWrapText(true); HSSFFont font = wb.createFont(); //设置字体的样式 font.setFontHeightInPoints((short)14); //字体大小 font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); cellStyle.setFont(font); cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN); cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN); cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN); cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); cellStyle.setFillForegroundColor((short) 63);主要代码为黑体的,比较好奇的是,byte最高不是128吗?255强制转换成byte的时候应该丢失阿。为什么还能正常显示颜色值? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2012-12-02
在java中,byte是8位。在C中,byte是4位。
|
|
返回顶楼 | |