Удалите все форматирование таблицы, созданной из метода InsertTable в ClosedXML

Я использую 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)

Это не похоже на работу. Пожалуйста, скажите мне, что я делаю не так. Заранее спасибо.

1 ответ

Решение

Я понял это сегодня. Это была очень очевидная ошибка. Я не должен был использовать AsTable(), так как ячейки, которые я хотел отформатировать, уже находятся в таблице. Это результат неправильного определения значения VS2010, по какой-то причине Table.Theme() не отображается в контекстном меню. Я нашел исправленную мной собственную проблему. Это должно было быть:

_tempSummary.Theme() = XLTableTheme.None

Я использовал 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" на ней.

благодаря

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