使用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目录下;