Skip to content

Экспорт

Начиная с версии 1.2, контрол DataGrid может экспортировать данные в форматы XLSX (Microsoft Excel) и PDF.

Замечание

Функциональность экспорта реализована в библиотеке Eremex.DocumentProcessing. Убедитесь, что эта библиотека подключена к вашему проекту, чтобы использовать функцию экспорта.

Экспорт в XLSX

Механизм экспорта в Excel ориентирован на данные, то есть он сохраняет параметры форматирования данных грида в выходном документе XLSX, включая:

  • Группировку строк
  • Форматирование значений
  • Сортировку данных

После экспорта данных вы можете обрабатывать и анализировать их в Microsoft Excel или другом приложении для работы с таблицами.

datagrid-export-result

Замечание

Форматирование ячеек, реализованное с помощью шаблонов ячеек (GridColumn.CellTemplate), не экспортируется.

Используйте следующие методы для экспорта данных контрола в формат XLSX:

  • DataGridControl.ExportToXlsx(string fileName, XlsxExportOptions? options = null) — Экспортирует данные в файл.
  • DataGridControl.ExportToXlsx(Stream stream, XlsxExportOptions? options = null) — Экспортирует данные в поток.

Необязательный параметр options (типа XlsxExportOptions) позволяет настроить параметры экспорта. Класс XlsxExportOptions предоставляет следующие члены:

  • Событие ExportProgress — Возникает повторно в процессе экспорта данных. Параметр ExportProgressEventArgs.ProgressPercentage события указывает прогресс в процентах (от 0 до 100). Вы можете использовать это событие для отображения прогресса экспорта пользователям своим способом.
  • Свойство AllowFixedColumnHeaderPanel (по умолчанию true) — Получает или задает, должна ли панель заголовков столбцов оставаться закрепленной вверху в экспортированном документе.
  • Свойство ApplyFormattingToEntireColumn — Получает или задает, применяется ли форматирование ячеек ко всем столбцам целиком или к отдельным ячейкам в выходном документе.
  • Свойство AllowGrouping (по умолчанию true) — Получает или задает, экспортируются ли групповые строки и иерархия групп. Если AllowGrouping равно false, экспортируются только строки данных.
  • Свойство DocumentCulture — Получает или задает пользовательский объект CultureInfo, который определяет правила форматирования числовых и дата-время значений в выходном документе. Если свойство DocumentCulture не указано, движок экспорта использует текущую культуру приложения.
  • Свойство ShowBands (по умолчанию null) — Получает или задает, включаются ли полосы контрола в экспорт. Если ShowBands равно null, настройка определяется свойством DataGridControl.ShowBands контрола.
  • Свойство ShowColumnHeaders (по умолчанию null) — Получает или задает, включается ли панель заголовков столбцов в экспорт. Если ShowColumnHeaders равно null, настройка определяется свойством DataGridControl.ShowColumnHeaders контрола.
  • Свойство ShowHorizontalLines — Получает или задает, видны ли горизонтальные линии между ячейками в выходном документе.
  • Свойство ShowVerticalLines — Получает или задает, видны ли вертикальные линии между ячейками в выходном документе.
  • Свойство TextExportMode — Получает или задает режим экспорта по умолчанию для значений ячеек. Доступные варианты:

    • TextExportMode.Value — Экспортирует значения ячеек. Если значения ячеек отформатированы в контроле DataGrid, движок экспорта пытается применить соответствующее форматирование к экспортированным значениям в выходном документе.
    • TextExportMode.Text — Экспортирует отображаемый текст ячеек. Если значения ячеек отформатированы в контроле DataGrid, экспортируется строковое представление с форматированием.

    Вы можете использовать свойство GridColumn.TextExportMode, чтобы переопределить настройку XlsxExportOptions.TextExportMode для отдельных столбцов.

    Замечание

    Движок экспорта учитывает только форматирование ячеек, примененное с помощью свойства GridColumn.EditorProperties. Например:

    <mxdg:GridColumn Width="*" FieldName="Salary">
        <mxdg:GridColumn.EditorProperties>
            <mxe:TextEditorProperties DisplayFormatString="c"/>
        </mxdg:GridColumn.EditorProperties>
    </mxdg:GridColumn>
    
    Форматирование ячеек, примененное другими способами (например, с помощью GridColumn.CellTemplate), игнорируется при экспорте данных.

Экспорт в PDF

Движок рендеринга PDF следует концепции WYSIWYG, которая сохраняет макет элементов грида в выходном документе.

grid-export-to-pdf

Используйте следующие методы для экспорта данных контрола в формат PDF:

  • DataGridControl.ExportToPdf(string fileName, PageExportOptions? options = null) — Экспортирует данные в файл.
  • DataGridControl.ExportToPdf(Stream stream, PageExportOptions? options = null) — Экспортирует данные в поток.

Необязательный параметр options (типа PageExportOptions) позволяет настроить параметры экспорта. Класс PageExportOptions предоставляет следующие члены:

  • Событие PageExportOptions.ExportProgress — Возникает повторно в процессе экспорта данных. Параметр ExportProgressEventArgs.ProgressPercentage события указывает прогресс в процентах (от 0 до 100). Вы можете использовать это событие для отображения прогресса экспорта пользователям своим способом.
  • Свойство PageExportOptions.FitToPageWidth (по умолчанию false) — Получает или задает, должны ли столбцы грида растягиваться по ширине страницы.
  • Свойство PageExportOptions.Landscape (по умолчанию false) — Получает или задает ориентацию страницы: горизонтальная (Landscape) или вертикальная (Portrait).
  • Свойство PageExportOptions.Margins (по умолчанию 72,72,72,72) — Получает или задает поля страницы в пунктах. 1 пункт = 1/72 дюйма.
  • Свойство PageExportOptions.PaperKind (по умолчанию A4) — Получает или задает размер бумаги.
  • Свойство ShowBands (по умолчанию null) — Получает или задает, включаются ли полосы контрола в экспорт. Если ShowBands равно null, настройка определяется свойством DataGridControl.ShowBands контрола.
  • Свойство ShowColumnHeaders (по умолчанию null) — Получает или задает, включается ли панель заголовков столбцов в экспорт. Если ShowColumnHeaders равно null, настройка определяется свойством DataGridControl.ShowColumnHeaders контрола.



* Эта страница была переведена с помощью нейросети Deepseek.