View on GitHub ClosedXML.Report

Базовые сущности

Шаблоны

Все работы по созданию отчета основаны на шаблонах (XLSX-шаблоны) - книги Excel, содержащей описание формы отчета, а также опций для книг, листов и областей отчетов. Специальные формулы полей и области данных описывают данные в структуре отчета, которые вы хотите перенести в Excel. ClosedXML.Report вызовет шаблон и заполнит ячейки отчета данными из указанных наборов.

Переменные

Значения, переданные в ClosedXML.Report с помощью метода AddVariable, называются переменными. Они используются для вычисления выражений, используемых в шаблонах. Переменные могут быть добавлены с именем или без него. Если переменная была добавлена без имени, то все общедоступные поля и свойства этого экземпляра будут добавлены как переменные с их именами.

Примеры:

template.AddVariable(cust);

или

template.AddVariable("Customer", cust);.

Выражения

Выражения заключаются в двойные фигурные скобки {{}}. Используется синтаксис, аналогичный C#. Поддерживаются лямбда-выражения.

Примеры:

{{item.Product.Price * item.Product.Quantity}}

{{items.Where(i => i.Currency == "RUB").Count()}}

Тэги

ClosedXML.Report имеет ряд встроенных возможностей, которые позволяют спрятать лист, отсортировать полученную область, получить итоги по ее колонкам, сгруппировать область и др. Эти дополнительные действия можно вызвать, дополнив книгу-шаблон тэгами книги, листа, области или строк/столбцов. Тэг – это строковое значение, заключённое в двойные угловые скобки и понятное анализатору ClosedXML.Report. Эти тэги помогут вам получить промежуточные итоги, включить автофильтр, создать сводные таблицы по области и др. У тегов могут быть параметры для настройки их поведения. Параметры могут требовать указать их значения. В этом случае, имя параметра отделяется от значения знаком «равно».

Все тэги могут относиться к шести объектам отчета: отчет, лист, столбец, строка, область, столбец области. Тэги отчета указываются в ячейке A1 любого листа шаблона. Тэги листа указываются в ячейке A2 на листе. Тэги столбца указываются в первой строке листа. Тэги строки указываются в первом столбце листа. Тэги области указываются в крайней слева ячейке служебной строки этой области. Тэги столбца области указываются в ячейке этого столбца в служебной строке области.

Пример: <<Range horizontal>>.

Список всех тэгов вы можете найти на странице Тэги

Области

Для представления значений IEnumerable используются именованные области Excel. Подробнее см. раздел Плоские таблицы