删除从 ClosedXML 中的 InsertTable 方法创建的 table 的所有格式

Remove all formatting of the table created from InsertTable method in ClosedXML

我正在使用 ClosedXML 生成报告。提供给 Excel 的数据来自存储在 DataTable 对象中的数据库。 table 在 Excel sheet 中显示良好 - 但是,它在创建的 table 上应用了默认主题。 下面是我的示例代码:

Dim workbook As XLWorkbook = New XLWorkbook()    
Dim _tempSummary= workbook.AddWorksheet("Summary").Cell(1, 1).InsertTable(tblSummary)

这是结果:

我想删除创建的 table 的粗体字体样式。但是,当我这样做时

_tempSummary.AsTable().Ranges("B1:G1,I1:O1,Q1:R1").Style.Font.SetBold(False)

好像不行。请告诉我我做错了什么。提前致谢。

我今天弄明白了。这是一个非常明显的错误。 我不应该使用 AsTable(),因为我想要格式化的单元格已经在 table 中。这是 VS2010 的错误智能感知的结果,由于某些原因 Table.Theme() 没有出现在上下文菜单中。我发现了我自己的问题。应该是:

_tempSummary.Theme() = XLTableTheme.None

我正在使用 DataTable 并想删除 table 的蓝色默认样式,只有流动对我有用:

using (var workbook = new XLWorkbook())
{
    var ws = workbook.Worksheets.Add(productListDataTable, "Product List Sheet");
    ws.Tables.FirstOrDefault().Theme = XLTableTheme.None; //works with manully added tables, datatables
    workbook.SaveAs(diskPath);
}

其他用于范围/单元格的样式选项令人困惑,因此如果您将样式应用于您添加的“table”(不是单元格/范围),您将需要 select table 并在其上应用“XLTableTheme”。

谢谢