npoi針對office2003使用hssfworkbook,對於offce2007及以上使用xssfworkbook;今天我以hssfworkbook自定義顏色為例說明,office2007的未研究呢
在npoi中預設的顏色類是hssfcolor,它內建的顏色有幾十種供我們選擇,如果不夠怎麼辦,不能修改底層的hssfcolor類;
大概解決思路:
1、將顏色的rgb值新增進調色盤hssfpalette中
2、呼叫hssfpalette中findcolor方法獲取hssfcolor例項
3、在需要使用顏色的地方使用hssfcolor的indexed屬性獲取index值(npoi.dll版本不同,也可能是getindex方法節能index值)
第一步:將顏色的rgb值新增進調色盤hssfpalette
hssfworkbook hssfworkbook = new hssfworkbook();//工作簿例項
hssfpalette palette = hssfworkbook.getcustompalette(); //調色盤例項
palette.setcoloratindex((short)8 ,(short)184,(short)204,(short)228);
引數解析
第乙個引數:設定調色盤新增顏色的編號,自已設定即可;取值範圍8-64
第二、第三、第四個引數,組成rgb值
這裡還有一點需要注意,如何去找到相應的rgb值呢,如果去用肉眼去找到匹配的太難;
客戶可能給某個模板,模板中自帶背景色,我們如何找到這個前景色的rgb值呢,通過以下方式
第二步:呼叫hssfpalette中findcolor方法獲取hssfcolor例項
hssfcolor hssfcolor = palette.findcolor((short)184,(short)204,(short)228);
第一步中自定義設定的rgb值,直接複製過來使用;通過findcolor直接找到hssfcolor例項
第三步:設定具體物件顏色
//建立乙個單元格(具體網上查查,本次不做重點講解)
isheet sheet = hssfworkbook.getsheetat(0);
irow row = sheet.createrow(0);
icell cell = row.createcell(0);
//設定單元格顏色
icellstyle cellstyle= hssfworkbook.createcellstyle();
cellstyle.fillpattern = fillpattern.solidforeground; 老版本可能這樣寫fillpatterntype.solid_foreground;
cellstyle.fillforegroundcolor = hssfcolor.indexed;
cell.cellstyle = cellstyle;//設定
npoi針對office2003使用hssfworkbook,對於offce2007及以上使用xssfworkbook;今天我以hssfworkbook自定義顏色為例說明,office2007的未研究呢
在npoi中預設的顏色類是hssfcolor,它內建的顏色有幾十種供我們選擇,如果不夠怎麼辦,不能修改底層的hssfcolor類;
大概解決思路:
1、將顏色的rgb值新增進調色盤hssfpalette中
2、呼叫hssfpalette中findcolor方法獲取hssfcolor例項
3、在需要使用顏色的地方使用hssfcolor的indexed屬性獲取index值(npoi.dll版本不同,也可能是getindex方法節能index值)
第一步:將顏色的rgb值新增進調色盤hssfpalette
hssfworkbook hssfworkbook = new hssfworkbook();//工作簿例項
hssfpalette palette = hssfworkbook.getcustompalette(); //調色盤例項
palette.setcoloratindex((short)8 ,(short)184,(short)204,(short)228);
引數解析
第乙個引數:設定調色盤新增顏色的編號,自已設定即可;取值範圍8-64
第二、第三、第四個引數,組成rgb值
這裡還有一點需要注意,如何去找到相應的rgb值呢,如果去用肉眼去找到匹配的太難;
客戶可能給某個模板,模板中自帶背景色,我們如何找到這個前景色的rgb值呢,通過以下方式
第二步:呼叫hssfpalette中findcolor方法獲取hssfcolor例項
hssfcolor hssfcolor = palette.findcolor((short)184,(short)204,(short)228);
第一步中自定義設定的rgb值,直接複製過來使用;通過findcolor直接找到hssfcolor例項
第三步:設定具體物件顏色
//建立乙個單元格(具體網上查查,本次不做重點講解)
isheet sheet = hssfworkbook.getsheetat(0);
irow row = sheet.createrow(0);
icell cell = row.createcell(0);
//設定單元格顏色
icellstyle cellstyle= hssfworkbook.createcellstyle();
cellstyle.fillpattern = fillpattern.solidforeground; 老版本可能這樣寫fillpatterntype.solid_foreground;
cellstyle.fillforegroundcolor = hssfcolor.indexed;
cell.cellstyle = cellstyle;//設定
NPOI自定義單元格背景顏色
經常在npoi群裡聊天時發現有人在問npoi設定單元格背景顏色的問題,而tony qu大神的部落格裡沒有相關教程,剛好最近在做專案時研究了一下這一塊,在這裡總結一下。在npoi中預設的顏色類是hssfcolor,如果要使用npoi中的顏色就必須想辦法轉化為hssfcolor。分析了一下原 hssfc...
NPOI自定義單元格背景顏色
經常在npoi群裡聊天時發現有人在問npoi設定單元格背景顏色的問題,而tony qu大神的部落格裡沒有相關教程,剛好最近在做專案時研究了一下這一塊,在這裡總結一下。在npoi中預設的顏色類是hssfcolor,如果要使用npoi中的顏色就必須想辦法轉化為hssfcolor。分析了一下原 hssfc...
NPOI 自定義單元格背景顏色 Excel
npoi針對office2003使用hssfworkbook,對於offce2007及以上使用xssfworkbook 今天我以hssfworkbook自定義顏色為例說明,office2007的未研究呢 在npoi中預設的顏色類是hssfcolor,它內建的顏色有幾十種供我們選擇,如果不夠怎麼辦,不...