首页 新闻 赞助 找找看

NPOI合并单元格后样式中的对齐方式、背景颜色不起作用

0
悬赏园豆:50 [已解决问题] 解决于 2014-07-23 13:35

代码如下:

style = (HSSFCellStyle)workbook.CreateCellStyle();
font = (HSSFFont)workbook.CreateFont();
font.FontName = "MS Pゴシック";
font.FontHeightInPoints = 24;
font.Color = NPOI.HSSF.Util.HSSFColor.BLACK.index;
font.Boldweight = (short)FontBoldWeight.BOLD;

style.Alignment = HorizontalAlignment.CENTER;  // 没有居中

style.SetFont(font);

style.FillBackgroundColor = NPOI.HSSF.Util.HSSFColor.PINK.index;  // 背景颜色没有

HSSFCell cell = (HSSFCell)row.CreateCell(startCol);
cell.SetCellValue(text);
cell.CellStyle = style;

CellRangeAddress r = new CellRangeAddress(startRow, endRow, startCol, endCol);
sheet.AddMergedRegion(r);

 

请问如和设定合并单元格的背景颜色和对齐方式?

穷人,钱少,跪求~~~~~~~~~~~~~~~~~~~

我是刘斌的主页 我是刘斌 | 初学一级 | 园豆:102
提问于:2014-07-23 10:25
< >
分享
最佳答案
1

变态的NPOI,原来那个不叫背景颜色,叫做FillForegroundColor,而且还要设置FillPattern才行。

代码如下:

style.FillPattern = FillPatternType.SOLID_FOREGROUND;
style.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.PINK.index;

我是刘斌 | 初学一级 |园豆:102 | 2014-07-23 13:34

谢谢,困惑的问题解决了

yis | 园豆:200 (初学一级) | 2016-12-02 12:15
其他回答(4)
0

这个还是得你自己跟着慢慢调试,一步一步的跟着调试,单纯看是看不出来问题的,而且大家也没时间构建一个环境。

收获园豆:50
jerry-Tom | 园豆:4077 (老鸟四级) | 2014-07-23 10:53
2

headStyle.FillPattern = HSSFCellStyle.SOLID_FOREGROUND;// FillPatternType.SOLID_FOREGROUND;
headStyle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.PINK.index;

这么才对。

溶进咖啡的糖 | 园豆:202 (菜鸟二级) | 2016-12-18 14:38
0

我也是,折腾了一晚上加一上午,才找到这个解决方法!唯一不解的是,为什么我再网上看到的帖子,都是你这种格式,而我的开发环境中,是:

ncellstyle0.FillForegroundColor = HSSFColor.Red.Index;
ncellstyle0.FillPattern = FillPattern.SolidForeground;

就是 HSSFColor后面颜色的枚举,以及后面的 index ,我这里都是首字母大写的呢?下面的SolidForeground,也不是SOLID_FOREGROUND。

有人能解惑么?

Anynsmt | 园豆:202 (菜鸟二级) | 2016-12-26 12:15

 因为NPOI是开源项目,不同的版本,函数名、变量名都可能会有差异的

支持(0) 反对(0) 插线板 | 园豆:200 (初学一级) | 2017-03-17 23:27
0

遇到同样问题,解决了,赞!!!

LightSnow | 园豆:186 (初学一级) | 2017-03-10 19:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册