使用NPOI设置Excel表的单元格背景颜色

    xiaoxiao2022-06-26  126

    使用NPOI设置Excel表的单元格背景颜色

    2016年12月15日 15:25:01 起个名字真的好难啊 阅读数:15091更多

    个人分类: 文件操作

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/e295166319/article/details/53670780

    使用NPOI设置Excel单元格背景颜色时,应该设置FillForegroundColor属性,而且还要设置FillPattern才行。

    代码如下:

    style.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.PINK.index;

    style.FillPattern = FillPatternType.SOLID_FOREGROUND;

     

    简单代码示例:

     

     

    using UnityEngine;

    using System.Collections;

    using UnityEditor;

    using NPOI.HSSF.UserModel;

    using NPOI.HPSF;

    using NPOI.HSSF.Util;

    using NPOI.POIFS.FileSystem;

    using NPOI.SS.UserModel;

    using System.Collections.Generic;

    using System.Linq;

    using System.IO;

    public class WorkBook

    {

    [MenuItem("H3D/XLSX文件测试")]

    static void CreateExcelFile()

    {

    // 生成简报

    IWorkbook wb = new HSSFWorkbook();

    var sheet = wb.CreateSheet("第一页");

    int currentRow = 0;

     

    ICellStyle s = wb.CreateCellStyle ();

    s.FillForegroundColor = HSSFColor.Pink.Index;

    s.FillPattern = FillPattern.SolidForeground;

     

    // 简报开始

    var row = sheet.CreateRow(currentRow++);

    row.CreateCell(0).SetCellValue("第一页第一行");

    row.GetCell(0).CellStyle = s;

     

    row = sheet.CreateRow(currentRow++);

    row.CreateCell(0).SetCellValue("第一页第二行");

       

    var sheet2 = wb.CreateSheet("第二页");

    int currentRow2 = 0;

    // 简报开始

    var row2 = sheet2.CreateRow(currentRow2++);

    row2.CreateCell(0).SetCellValue("第二页第一行");

     

    row2 = sheet2.CreateRow(currentRow2++);

    row2.CreateCell(0).SetCellValue("第二页第二行");

      

    //save

    string savePath = "XLSXTest.xlsx";

    FileStream fs = new FileStream(savePath, FileMode.OpenOrCreate, FileAccess.Write);

    wb.Write(fs);

    fs.Close();

    Debug.Log("报告路径:" + savePath);

    }

     

    }

    效果图:

    以上引用需要使用:NPOI库;

    以上代码和NPOI库需要放入Editor目录下;


    最新回复(0)