使用c#

时间:2018-01-03 03:06:27

标签: c# excel

我很困惑,在将数据表导出到excel

时格式化数据表

我的代码

var workBook = new ExpertXls.ExcelLib.ExcelWorkbook(ExpertXls.ExcelLib.ExcelWorkbookFormat.Xlsx_2007);
workBook.Worksheets.AddWorksheet();
var workSheet = workBook.Worksheets[0];
workSheet.LoadDataTable(ds.Tables[0], 1, 1, true);
workSheet.AutofitColumns();
context.Response.Clear();
context.Response.Buffer = true;
context.Response.Charset = "";
context.Response.ContentType = 
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
context.Response.AddHeader("content-disposition", "attachment;filename=" + fileName);
using (var MyMemoryStream = new MemoryStream())
{
    workBook.Save(MyMemoryStream);
    MyMemoryStream.WriteTo(context.Response.OutputStream);
    context.Response.Flush();
    context.Response.End();
}

上面的代码可以很好地将数据表导出到excel而不需要格式化。

我可以将Cell Font Color设置为

workSheet["A1:N1"].Style.Font.Color = System.Drawing.Color.Green;

然后,如何获取工作表单元格并设置其背面颜色?

我尝试但无法获取细胞

workSheet.

这里可以获得不是样式的单元格

worksheet["A1:N1"].Cells.

1 个答案:

答案 0 :(得分:1)

我下载了您正在使用的库的Nuget包,因为他们的文档在网上不存在。

您可以尝试以下方法来实现您的目标:

workSheet["A1:N1"].Style.Fill.FillType = ExpertXls.ExcelLib.ExcelCellFillType.SolidFill;
workSheet["A1:N1"].Style.Fill.SolidFillOptions.BackColor = System.Drawing.Color.Green;

Green更改为您选择的颜色,并告诉我它是否有效。