使用NPOI设置Excel表的单元格背景颜色
使用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目录下;