Удалите все форматирование таблицы, созданной из метода 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" на ней.
благодаря