Примеры шаблонов
Простой шаблон
Вы можете применять к ячейкам любое форматирование, включая условные форматы.
Шаблон: 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