Установка цвета фона для определенных ячеек на листе HSSFWork с использованием C#

Я пытаюсь создать лист Excel, используя HSSFWorkbook, Я хочу установить цвет фона ячейки. я использую HSSFWorkbook, но я, к сожалению, не могу получить цвет фона.

Мне нужно установить несколько ячеек на один и тот же цвет, а некоторые другие - на несколько цветов.

Мой код до сих пор:

HSSFWorkbook workbook = new HSSFWorkbook();
MemoryStream memoryStream = new MemoryStream();
DataSet repds = exceldetils.ToDataSet("Batch");
HSSFSheet sheets = (NPOI.HSSF.UserModel.HSSFSheet)workbook.CreateSheet("Batch");
HSSFRow headerRow = (NPOI.HSSF.UserModel.HSSFRow)sheets.CreateRow(0);
//
List<string> columnnames = new List<string>();
foreach (DataColumn column in repds.Tables[0].Columns)
{
  //column.ColumnName = HSSFFont.FONT_ARIAL;
  // columnnames.Add(column.ColumnName);
  headerRow.CreateCell(column.Ordinal).SetCellValue(column.ColumnName);
}
var cHelp = workbook.GetCreationHelper();
HSSFFont hFont = (HSSFFont)workbook.CreateFont();

hFont.Boldweight = (short)FontBoldWeight.Bold;
hFont.Color = HSSFColor.Black.Index;
hFont.FontHeightInPoints = 10   ;
HSSFCellStyle hs = workbook.CreateCellStyle();
HSSFCellStyle hStyle =(HSSFCellStyle) workbook.CreateCellStyle(); 

hStyle.SetFont(hFont);
hStyle.BorderBottom = BorderStyle.Medium;
hStyle.FillBackgroundColor = HSSFColor.Black.Index;

hStyle.FillPattern = FillPattern.SolidForeground;
int cellCount = 0;
foreach (string str in columnnames)
{
  HSSFCell cell = (HSSFCell)headerRow.CreateCell(cellCount);
  cell.SetCellValue(cHelp.CreateRichTextString((str)));
  cell.CellStyle = hStyle;
  cellCount += 1;
}

int rowIndex = 1;
foreach (DataRow row1 in repds.Tables[0].Rows)
{
  HSSFRow dataRow = (NPOI.HSSF.UserModel.HSSFRow)sheets.CreateRow(rowIndex);
  foreach (DataColumn column in repds.Tables[0].Columns)
  {
    dataRow.CreateCell(column.Ordinal).SetCellValue(row1[column].ToString());
  }
  rowIndex++;
}
workbook.Write(memoryStream);
//memoryStream.Flush();
//memoryStream.GetBuffer();

0 ответов

Другие вопросы по тегам