论坛首页 Web前端技术论坛

POI算定义颜色

浏览 2775 次
精华帖 (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的时候应该丢失阿。为什么还能正常显示颜色值?
   发表时间:2012-12-02  
在java中,byte是8位。在C中,byte是4位。
1 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics