Примеры шаблонов
Простой шаблон

Вы можете применять к ячейкам любое форматирование, включая условные форматы.
Шаблон: Simple.xlsx
Результат: Simple.xlsx
Сортировка списка

Вы можете отсортировать список по столбцам. Просто укажите тэг <<sort>> в ячейках опций соответствующих столбцов. Чтобы отсортировать в порядке убывания, добавьте опцию «Desc» в параметр тэга сортировки (<<sort desc>>).
Подробнее смотрите раздел Сортировка данных
Шаблон: tLists1_sort.xlsx
Результат: tLists1_sort.xlsx
Итоги по столбцам

Вы можете получить итоговые значения для столбца диапазона, указав соответствующий параметр в ячейке опции столбца.
В этом примере мы использовали тэг <<sum>> в строке опций списка для колонки Amount paid.
Подробнее смотрите раздел Подитоги по столбцам.
Шаблон: tlists2_sum.xlsx
Результат: tlists2_sum.xlsx
Опции списка и колонок

Помимо передачи данных из набора данных в диапазон, ClosedXML.Report может сортировать диапазон, составлять итоговые значения, группировать диапазон и так далее. Эти действия выполняются ClosedXML.Report, если он находит тэги диапазона и тэги столбца в соответствующих ячейках.
Подробнее смотрите раздел Плоские таблицы
В этом примере мы выравняли колонки по содержимому, добавили фильтры в заголовок таблицы, заменили формулы на значения и защитили колонку Amount paid от изменения. Для этого мы использовали тэги: <<AutoFilter>>, <<ColsFit>>, <<OnlyValues>> и <<Protected>>.
Шаблон: tLists3_options.xlsx
Результат: tLists3_options.xlsx
Сложный диапазон

ClosedXML.Report способен использовать многострочные шаблоны для строки таблицы. Вы можете произвольным образом форматировать ячейки, объединять их, использовать условное форматирование, формулы Excel.
Подробнее смотрите раздел Плоские таблицы
Шаблон: tLists4_complexRange.xlsx
Результат: tLists4_complexRange.xlsx
Группировка списка

С тэгом <<group>> могут использоваться все тэги суммирования. Укажите опцию <<group>> в ячейках опций столбцов, где вы хотите получить промежуточные итоги.
Подробнее смотрите раздел Группировка
Шаблон: GroupTagTests_Simple.xlsx
Результат: GroupTagTests_Simple.xlsx
Схлопнутые группы

Используйте параметр collapse тэга group (<<group collapse>>), если вы хотите быстро отображать только строки, которые содержат сводки или заголовки для разделов вашего листа.
Подробнее смотрите раздел Группировка
Шаблон: GroupTagTests_Collapse.xlsx
Результат: GroupTagTests_Collapse.xlsx
Заголовки над данными

ClosedXML.Report реализует тэг SUMMARYABOVE. Он помещает строку итогов над сгруппированными данными.
Подробнее смотрите раздел Группировка
Шаблон: GroupTagTests_SummaryAbove.xlsx
Результат: GroupTagTests_SummaryAbove.xlsx
Объединение заголовков (вариант 1)

Тэг <<group>> позволяет объединять ячейки в сгруппированном столбце. Эта функция доступна с помощью параметра ‘mergelabels’ тэга <<group>>.
Подробнее смотрите раздел Группировка
Шаблон: GroupTagTests_MergeLabels.xlsx
Результат: GroupTagTests_MergeLabels.xlsx
Объединение заголовков (вариант 2)

Тэг <<group>> позволяет группировать данные без вставки строки заголовка группы. Эта функция доступна с помощью параметра ‘MergeLabels=Merge2’ тэга <<group>>. Ячейки, содержащие сгруппированные данные, объединяются, а ячейка результата содержит сгруппированное значение.
Подробнее смотрите раздел Группировка
Шаблон: GroupTagTests_MergeLabels2.xlsx
Результат: GroupTagTests_MergeLabels2.xlsx
Вложенные группы

Списки могут быть сгруппированы с любым уровнем вложенности.
Подробнее смотрите раздел Группировка
Шаблон: GroupTagTests_NestedGroups.xlsx
Результат: GroupTagTests_NestedGroups.xlsx
Отключенное схлопывание групп

Используйте параметр disableoutline тэга <<group>> чтобы отключить схлопывание групп. В этом примере диапазон группируется по колонке Company и Payment method. Схлопывание групп столбца Payment method отключено.
Подробнее смотрите раздел Группировка
Шаблон: GroupTagTests_DisableOutline.xlsx
Результат: GroupTagTests_DisableOutline.xlsx
Размещение заголовка группы

Тэг <<group>> позволяет размещать заголовок группы в любой столбец сгруппированного диапазона с помощью параметра PLACETOCOLUMN=n, где n - номер столбца в диапазоне (начиная с 1). Так же ClosedXML.Report содержит тэг <<delete>>, позволяющий удалить столбец или строку. В примере группировка выполняется по колонке Company с использованием параметра mergelabels. Заголовок группы столбца Company помещается во второй столбец диапазона (параметр PLACETOCOLUMN=2). Затем удаляется столбец Company.
Подробнее смотрите раздел Группировка
Шаблон: GroupTagTests_PlaceToColumn.xlsx
Результат: GroupTagTests_PlaceToColumn.xlsx
Формулы в строке группы

ClosedXML.Report сохраняет весь текст в ячейках строки параметров, если он не распознаёт его тэгом. Используйте эту возможность для размещения формул Excel в строке параметров. В примере выполняется группировка по полю Company и Payment method. В ячейке опций столбца Amount Paid есть формула Excel.
Подробнее смотрите раздел Группировка
Шаблон: GroupTagTests_FormulasInGroupRow.xlsx
Результат: GroupTagTests_FormulasInGroupRow.xlsx
Группировка с заголовками

Вы можете настроить отображение заголовка группы с помощью параметра WITHHEADER тэга <<group>>. В этом случае заголовок группы помещается над сгруппированными данными и сводной строкой ниже данных. Параметр SUMMARYABOVE не влияет на это размещение.
Подробнее смотрите раздел Группировка
Шаблон: GroupTagTests_WithHeader.xlsx
Результат: GroupTagTests_WithHeader.xlsx
Вложенные области

Вы можете вложить диапазон в другой диапазон, отражающий таким образом подчиненные отношения ваших данных. В примере диапазон Items вложен в Orders, а последний - в Customers. Все три диапазона имеют собственную строку параметров плюс ту же левую границу и ту же ширину.
Подробнее смотрите раздел Вложенные области: отчет с детализацией.
Шаблон: Subranges_Simple_tMD1.xlsx
Результат: Subranges_Simple_tMD1.xlsx
Вложенные области с итогами

Вы можете использовать тэги суммирования на каждом уровне вложенности в отчете master-detail. В примере тэг <<sum>> в ячейке I9 будет суммировать ячейки `` по заказу, в то время как тот же тэг в ячейке I10 суммирует эти ячейки по поставщику.
Подробнее смотрите раздел Вложенные области: отчет с детализацией.
Шаблон: Subranges_WithSubtotals_tMD2.xlsx
Результат: Subranges_WithSubtotals_tMD2.xlsx
Вложенные области с внутренней сортировкой

Вы можете использовать тэг <<sort>> в самом внутреннем диапазоне.
Подробнее смотрите раздел Вложенные области: отчет с детализацией.
Шаблон: Subranges_WithSort_tMD3.xlsx
Результат: Subranges_WithSort_tMD3.xlsx
Сводный отчёт

ClosedXML.Report поддерживает мощное средство работы со сводными таблицами. Вы можете разместить одну или несколько сводных таблиц прямо в шаблоне отчета, воспользовавшись удобством мастера сводных таблиц Excel и практически всеми возможностями в их оформлении и структурировании.
Подробнее смотрите раздел Сводные таблицы.
Шаблон: tPivot5_Static.xlsx
Результат: tPivot5_Static.xlsx