2015-12-17 5 views
1

Я использую ClosedXML для создания отчета. Данные, предоставленные в Excel, - это база данных, которая хранится в объекте DataTable. Таблица отображается в листе Excel точно, но она имеет тему по умолчанию, применяемую к созданной таблице. Ниже мой пример кода:Удалить все форматирование таблицы, созданной методом InsertTable в ClosedXML

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

Это результат:

enter image description here

Я хотел, чтобы удалить жирный шрифт стилизации созданной таблицы. Однако, когда я это сделал

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

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

+0

Попробуйте использовать 'AsTable()'. И если вы вообще не хотите никакого стиля, используйте 'InsertData()' вместо 'InsertTable()'. – Raidri

+0

Пожалуйста, будьте хорошим гражданином Stackoverflow.com и отметьте вопрос как ответ. –

+0

Я уже ответил как ответ. Спасибо ~ – saiha

ответ

2

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

_tempSummary.Theme() = XLTableTheme.None 
+0

Отметьте это как ответ. –

+0

Привет, извините, я не смог отметить это как ответ раньше. Мне не хватало необходимых вещей (я новичок в StackOverflow), чтобы отметить это как ответ. Благодарю. :) – saiha