【发布时间】:2017-07-07 18:39:51
【问题描述】:
我刚刚开始使用 ClosedXML。当我使用下面的代码创建一个新工作簿时,它会自动将“蓝色,表格样式灯 9”应用于每个工作表。我不希望工作表上有任何样式。如何不指定样式?
XLWorkbook wb = new XLWorkbook();
wb.Worksheets.Add(dt, "sheet1");
我基本上只是用 SQL 数据表填写表格。
【问题讨论】:
我刚刚开始使用 ClosedXML。当我使用下面的代码创建一个新工作簿时,它会自动将“蓝色,表格样式灯 9”应用于每个工作表。我不希望工作表上有任何样式。如何不指定样式?
XLWorkbook wb = new XLWorkbook();
wb.Worksheets.Add(dt, "sheet1");
我基本上只是用 SQL 数据表填写表格。
【问题讨论】:
默认情况下,当您使用IXLWorksheets.Add(DataTable dt) 方法时,ClosedXML 将创建一个新的Excel table。 Excel 表格始终应用样式。
要使用不带任何样式的 DataTable 填充您的工作表,请使用以下代码:
using (var wb = new XLWorkbook())
{
var ws = wb.Worksheets.Add("sheet1");
// The false parameter indicates that a table should not be created:
ws.FirstCell().InsertTable(dt, false);
}
【讨论】:
XLWorkbook 和 XLWorksheet 都具有 Style 属性。您可以像这样修改样式:
var workbook = new XLWorkbook();
var ws = workbook.Worksheets.Add("Style Worksheet");
ws.Style.Font.Bold = true;
ws.Style.Font.FontColor = XLColor.Red;
ws.Style.Fill.BackgroundColor = XLColor.Cyan;
有关文档,请参见此处:https://github.com/ClosedXML/ClosedXML/wiki/Using-Default-Styles
【讨论】:
要添加不带主题的 dt,请使用以下代码:
var ws = wb.Worksheets.Add("SheetName");
ws.FirstCell().InsertTable.InsertTable(dt).Theme = XLTableTheme.None;;
【讨论】: