using NPOI.XSSF.UserModel;
using NPOI.XSSF.Model;
using NPOI.HSSF.UserModel;
using NPOI.HSSF.Model;
using NPOI.SS.UserModel;
using NPOI.SS.Util;
(...)
XSSFWorkbook hssfwb;
using (FileStream file = new FileStream(@"D:\VB\XLSX teste com NPOI\XLSX 1\Book1.xlsx",
FileMode.Open, FileAccess.Read))
{
hssfwb = new XSSFWorkbook(file);
file.Close();
}
ISheet sheet = hssfwb.GetSheetAt(0);
IRow row = sheet.GetRow(0);
ICell cell = row.CreateCell(5);
cell.SetCellValue("test");
cell.CellStyle.FillBackgroundColor = IndexedColors.BrightGreen.Index;
cell.CellStyle.FillPattern = FillPattern.SolidForeground;
using (FileStream file = new FileStream(@"D:\VB\XLSX teste com NPOI\XLSX 1\Book1ee22.xlsx",
FileMode.Create, FileAccess.Write))
{
hssfwb.Write(file);
file.Close();
}
NPOI的版本:2.1.3.1。 我有这段代码,它可以改变整个工作表而不仅是一个单元格的颜色......正确的方法是什么,以改变单元格的填充颜色?
以下是基于下面标记为正确答案的回答的可行代码:
XSSFWorkbook hssfwb;
using (FileStream file = new FileStream(@"D:\Copy D\Tech\VB\XLSX teste com NPOI\XLSX 1\Book1.xlsx", FileMode.Open, FileAccess.Read))
{
hssfwb = new XSSFWorkbook(file);
file.Close();
}
ISheet sheet = hssfwb.GetSheetAt(0);
IRow row = sheet.GetRow(0);
ICellStyle testeStyle = hssfwb.CreateCellStyle();
testeStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Medium;
testeStyle.FillForegroundColor = IndexedColors.BrightGreen.Index;
testeStyle.FillPattern = FillPattern.SolidForeground;
ICell cell = row.CreateCell(5);
cell.SetCellValue("testeeerere");
cell.CellStyle = testeStyle;
using (FileStream file = new FileStream(@"D:\Copy D\Tech\VB\XLSX teste com NPOI\XLSX 1\Book1ee22.xlsx", FileMode.Create, FileAccess.Write))
{
hssfwb.Write(file);
file.Close();
}
NPOI.SS.UserModel
命名空间中。我已经编辑了我的答案。 - NinoICellStyle boldStyle = workbook.CreateCellStyle();
。我现在不在电脑旁边了,请自己找一下。做些小研究吧,伙计 :-) - Ninofor (int i = 0; i < 4; i++)
。 这将仅更改索引为0到4(从第一到第五)的单元格,而不是行中的所有单元格。 - Nino