zoukankan      html  css  js  c++  java
  • NPOI读取自定义的颜色

    有些自定义的颜色,npoi无法读取,需要手动写方案实现,分别是在打开wrokbook的时候,加上你自定义的颜色,然后在读取excel内容的时候通过一些特征判断是否是自定义的颜色,改变其index的值,具体方案如下:

    如果是07版的是:

     IWorkbook npoiWorkbook = null;

     XSSFWorkbook xSSFWorkbook = new XSSFWorkbook(fs);
     int uindex = xSSFWorkbook.NumCellStyles;
     XSSFCellStyle style = (XSSFCellStyle)xSSFWorkbook.CreateCellStyle();
     style.FillForegroundColor = (short)(uindex);
    style.FillPattern = FillPattern.SolidForeground;
     XSSFColor xssfColor = new XSSFColor();
    xssfColor.SetRgb(new byte[] { 191, 191, 191 });
    style.SetFillForegroundColor(xssfColor);
    npoiWorkbook = (IWorkbook)xSSFWorkbook;

    如果是03版的是:

    HSSFWorkbook hssfWorkbook = new HSSFWorkbook(fs); 

     HSSFPalette palette = hssfWorkbook.GetCustomPalette(); 
     palette.SetColorAtIndex((short)8, (byte)191, (byte)191, (byte)191);

     HSSFCellStyle style = (HSSFCellStyle)hssfWorkbook.CreateCellStyle();
     style.FillForegroundColor = (short)(8);
     style.FillPattern = FillPattern.SolidForeground;

    npoiWorkbook = (IWorkbook)hssfWorkbook;

    如上两段是打开wrokbook时候的处理,读取的处理如下:

    如果是07版本:

     if (cell.CellStyle.FillForegroundColor == 0 && cell.CellStyle.Index != workbook.NumCellStyles - 2)
      {
                    cell.CellStyle.FillForegroundColor = (short)(workbook.NumCellStyles - 1);
      }

    但是07比较坑,不知道是不是我没发现还是咋地,FillForegroundColor设置完了没有改变其实际的rgb的值,需要另外处理一下才行(具体根据单元格的index存下来,让我们知道这个单元格是我们自定义的颜色),但是03的版本修改完FillForegroundColor这个值,rgb就直接变成了8号位对应的颜色

    如果是03的版本:

    if (cell.CellStyle.FillForegroundColor == 55)
      {
                       cell.CellStyle.FillForegroundColor = (short)(8);
       }

    过多的还没有探讨,有感兴趣的,留言一起探讨探讨
    ————————————————
    版权声明:本文为CSDN博主「雪落花开_chanel」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/chanelwtt/article/details/105099584

  • 相关阅读:
    不要对父母说的十句话
    25句世界上最經典的話
    奥巴马(Obama)获胜演讲全文[中英对照]+高清视频下载
    【心理测试】男人眼中女人哪里最性感?
    一张图看出你是用左脑还是右脑
    我是有原则的~~(笑话转贴)
    各行各业常用大用大谎言
    你知道我今天为啥要来上班吗?
    女性抽烟腰会变粗?
    心理学家揭秘人临死时的感受
  • 原文地址:https://www.cnblogs.com/zhuangjolon/p/12582394.html
Copyright © 2011-2022 走看看