gpt4 book ai didi

c# - 如何使用 NPOI 更改单元格颜色

转载 作者:可可西里 更新时间:2023-11-01 07:44:15 27 4
gpt4 key购买 nike

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();
}

最佳答案

看看这个例子:

using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using NPOI.SS.Util;

(...)

Row row = sheet.CreateRow(0);

//styling
Font boldFont = workbook.CreateFont();
boldFont.Boldweight = (short)FontBoldWeight.BOLD;
ICellStyle boldStyle = workbook.CreateCellStyle();
boldStyle.SetFont(boldFont);

boldStyle.BorderBottom = CellBorderType.MEDIUM;
boldStyle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.GREY_25_PERCENT.index;
boldStyle.FillPattern = FillPatternType.SOLID_FOREGROUND;


for (int i = 0; i < columns.Length; i++)
{
Cell cell = row.CreateCell(i);
cell.SetCellValue(columns[i]);
cell.CellStyle = boldStyle;
}

在这里您可以看到如何为一行中的每个单元格应用粗体、背景颜色和边框。在这个例子中,columns 是代表列数据的字符串数组;改用你的值(value)观。

关于c# - 如何使用 NPOI 更改单元格颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37052352/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com