使用NPOI設定Excel表的單元格背景顏色
阿新 • • 發佈:2019-01-05
使用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目錄下;