4

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

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

这是结果:

在此处输入图像描述

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

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

它似乎不起作用。请告诉我我做错了什么。提前致谢。

4

2 回答 2

4

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

_tempSummary.Theme() = XLTableTheme.None
于 2015-12-18T14:33:40.420 回答
2

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

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

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

谢谢

于 2020-10-17T17:45:23.713 回答