一个 npoi 的单元格字体颜色 设置问题。好郁闷

jianshao810 2015-05-25 03:16:45

private void SetCellForeColorForTag(ISheet sheet, int modelIdx)
{
int mod = modelIdx % 3;
int[] colIdxs = new int[] { 1, 3, 5, 7, 9, 11, 13, 15 };
int colIdx = colIdxs[modelIdx / 3];

int startRowIdx = mod * 9;
int endRowIdx = (mod + 1) * 9;
IFont font = sheet.Workbook.CreateFont();

font.Color = (short)FontColor.NORMAL;
for (int i = startRowIdx; i < endRowIdx; i++)
{
//我这里故意写死看效果 begin//////////////////////////////////////////
IRow row = sheet.GetRow(0);
row.GetCell(1).CellStyle.SetFont(font);
//我这里故意写死看效果 end//////////////////////////////////////////
}
}

我就无语了,modelIdx 这个参数是 0~23.
startRowIdx 跟 endRowIdx 范围 就是 [0,9),[9,18),[18,27) 左闭右开。
但是 效果却是非常乱来。好多单元格都被设置了 这种类型的字体。
...全文
1046 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jianshao810 2015-05-25
  • 打赏
  • 举报
回复

/// <summary>
        /// 在流标签与骨髓标签的字体设置黑色
        /// </summary>
        /// <param name="sheet"></param>
        /// <param name="modelIdx"></param>
        private void SetCellForeColorForTag(ISheet sheet, int modelIdx, ICellStyle newStyle)
        {
            int mod = modelIdx % 3;
            int[] colIdxs = new int[] { 1, 3, 5, 7, 9, 11, 13, 15 };
            int colIdx = colIdxs[modelIdx / 3];

            int startRowIdx = mod * 9;
            int endRowIdx = (mod + 1) * 9;

            //var newStyle = sheet.Workbook.CreateCellStyle();
            //IFont font = sheet.Workbook.CreateFont();
            //font.Color = (short)FontColor.RED;
            //row.GetCell(1).CellStyle = newStyle;
            //newStyle.SetFont(font);

            for (int i = startRowIdx; i < endRowIdx; i++)
            {
                IRow row = sheet.GetRow(i);
                row.GetCell(colIdx).CellStyle = newStyle;
            }
        }
这样就可以,的确需要重新设置 style
jianshao810 2015-05-25
  • 打赏
  • 举报
回复
引用 4 楼 superliu1122 的回复:
var newStyle = workBook.CreateCellStyle()创建一个新的CellStyle,设置好效果 row.GetCell(1).CellStyle = newStyle;
神人。。谢谢
邱_子墨 2015-05-25
  • 打赏
  • 举报
回复
Excel组建可能不匹配,版本不对。
jianshao810 2015-05-25
  • 打赏
  • 举报
回复
引用 5 楼 Z65443344 的回复:
现在到底什么效果,放出来看
原来是白色,我要将某些单元格设置为黑色的字体。 只是他完全不按照规律来。上面有图
jianshao810 2015-05-25
  • 打赏
  • 举报
回复

这个就是代码得出的效果,郁闷死。完全没理由的。
於黾 2015-05-25
  • 打赏
  • 举报
回复
现在到底什么效果,放出来看
superliu1122 2015-05-25
  • 打赏
  • 举报
回复
var newStyle = workBook.CreateCellStyle()创建一个新的CellStyle,设置好效果 row.GetCell(1).CellStyle = newStyle;
jianshao810 2015-05-25
  • 打赏
  • 举报
回复
引用 1 楼 moonwrite 的回复:
我只能说 自己多试试 直到找出正确的使用方式
试了几个小时。还在试。
superliu1122 2015-05-25
  • 打赏
  • 举报
回复
用vae newStyle = workBook.CreateCellStyle()创建一个新的CellStyle,设置好效果 row.GetCell(1).CellStyle = newStyle;
moonwrite 2015-05-25
  • 打赏
  • 举报
回复
我只能说 自己多试试 直到找出正确的使用方式

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧