Экспорт¶
Элемент управления TreeList может экспортировать данные в следующие форматы:
- XLSX (Microsoft Excel)
- CSV
- Форматы изображений (PNG, JPEG, SVG и WebP)
Элемент управления TreeView поддерживает экспорт данных только в формат CSV.
Note
Экспорт данных в форматы XLSX, PDF и изображений реализован в библиотеке Eremex.DocumentProcessing. Убедитесь, что эта библиотека подключена к вашему проекту, чтобы использовать функцию экспорта.
Экспорт в формат XLSX¶
Механизм экспорта в Excel учитывает структуру данных, то есть сохраняет параметры формирования данных контрола в выходном документе XLSX, включая:
- Иерархию узлов
- Форматирование значений
- Сортировку данных
После экспорта данные можно обрабатывать и анализировать в Microsoft Excel или другом приложении для работы с электронными таблицами.
Note
Форматирование ячеек, реализованное с помощью шаблонов ячеек (TreeListColumn.CellTemplate), не экспортируется.
Используйте следующие методы для экспорта данных контрола в формат XLSX:
-
TreeListControl.ExportToXlsx(string fileName, XlsxExportOptions? options = null)— экспортирует данные в файл. -
TreeListControl.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, значение параметра определяется свойством контролаTreeListControl.ShowBands. -
Свойство
ShowColumnHeaders(по умолчаниюnull) — задаёт, включается ли панель заголовков колонок в экспорт.Если
ShowColumnHeadersравноnull, значение параметра определяется свойством контролаTreeListControl.ShowColumnHeaders. -
ShowHorizontalLines— задаёт, отображаются ли горизонтальные линии между ячейками в выходном документе. -
ShowVerticalLines— задаёт, отображаются ли вертикальные линии между ячейками в выходном документе. -
Свойство
TextExportMode— режим экспорта значений ячеек по умолчанию.Доступны следующие варианты:
TextExportMode.Value— экспортирует значения ячеек. Если значения ячеек отформатированы в элементе управления TreeList, механизм экспорта пытается применить соответствующее форматирование к экспортированным значениям в выходном документе.TextExportMode.Text— экспортирует отображаемый текст ячеек. Если значения ячеек отформатированы в элементе управления TreeList, экспортируется отформатированное строковое представление.
Вы можете использовать свойство
TreeListColumn.TextExportMode, чтобы переопределить параметрXlsxExportOptions.TextExportModeдля отдельных колонок.Note
Механизм экспорта учитывает только форматирование ячеек, применённое с помощью свойства
TreeListColumn.EditorProperties. Например:<mxtl:TreeListColumn Width="*" FieldName="Salary"> <mxtl:TreeListColumn.EditorProperties> <mxe:TextEditorProperties DisplayFormatString="c"/> </mxtl:TreeListColumn.EditorProperties> </mxtl:TreeListColumn>Форматирование ячеек, применённое другими способами (например, с помощью
TreeListColumn.CellTemplate), игнорируется при экспорте данных.
Экспорт в формат PDF¶
Механизм рендеринга PDF следует концепции WYSIWYG, которая сохраняет расположение элементов TreeList в выходном документе.
Используйте следующие методы для экспорта данных контрола в формат PDF:
-
TreeListControl.ExportToPdf(string fileName, PageExportOptions? options = null)— экспортирует данные в файл. -
TreeListControl.ExportToPdf(Stream stream, PageExportOptions? options = null)— экспортирует данные в поток.
Необязательный параметр options (типа PageExportOptions) позволяет настроить параметры экспорта. Класс PageExportOptions предоставляет следующие члены:
-
Событие
PageExportOptions.ExportProgress— возникает многократно во время экспорта данных. Параметр событияExportProgressEventArgs.ProgressPercentageуказывает прогресс в процентах (от 0 до 100). Это событие можно использовать, чтобы отображать пользователям прогресс экспорта в удобном виде. -
PageExportOptions.FitToPageWidth(по умолчаниюfalse) — задаёт, растягиваются ли колонки treelist по ширине бумаги. -
PageExportOptions.Landscape(по умолчаниюfalse) — задаёт ориентацию страницы: горизонтальную (Landscape) или вертикальную (Portrait). -
PageExportOptions.Margins(по умолчанию72,72,72,72) — поля страницы в пунктах. 1 пункт = 1/72 дюйма. -
PageExportOptions.PageRange— строка, задающая диапазон экспортируемых страниц. Можно использовать следующие обозначения для указания диапазона выходных страниц:- "1" — экспортирует страницу 1.
- "1, 4, 8-10" — экспортирует страницы 1, 4 и с 8 по 10.
Значение свойства
PageRangeпо умолчанию — пустая строка, при которой экспортируются все страницы. -
PageExportOptions.PaperKind(по умолчаниюA4) — размер бумаги. -
Свойство
PageExportOptions.ShowBands(по умолчаниюnull) — задаёт, включаются ли группы контрола в экспорт.Если
ShowBandsравноnull, значение параметра определяется свойством контролаTreeListControl.ShowBands. -
Свойство
PageExportOptions.ShowColumnHeaders(по умолчаниюnull) — задаёт, включается ли панель заголовков колонок в экспорт.Если
ShowColumnHeadersравноnull, значение параметра определяется свойством контролаTreeListControl.ShowColumnHeaders.
Экспорт в формат CSV¶
Элементы управления TreeList и TreeView предоставляют метод ExportToCsv для экспорта данных в формат CSV. CSV (значения, разделённые запятыми) — это текстовый формат данных для хранения табличных данных. Каждая запись экспортируется как текстовая строка, в которой значения разделены разделителем (как правило, запятой).
Доступны следующие перегрузки метода ExportToCsv:
-
DataControlBase.ExportToCsv(string filePath, TextExportMode textExportNode = TextExportMode.Text, string separator = ",", bool quoteStringsWithSeparators = true)— экспортирует данные в файл. -
DataControlBase.ExportToCsv(Stream stream, TextExportMode textExportMode = TextExportMode.Text, string separator = ",", bool quoteStringsWithSeparators = true)— экспортирует данные в поток.
Следующие параметры метода позволяют настроить параметры экспорта:
-
textExportMode— режим экспорта значений ячеек по умолчанию.Доступны следующие варианты:
TextExportMode.Value— экспортирует значения ячеек. Форматы данных, применённые к значениям ячеек, не экспортируются.-
TextExportMode.Text— экспортирует отображаемый текст ячеек. Если значения ячеек отформатированы в контроле, экспортируется отформатированное строковое представление.Note
Механизм экспорта учитывает только форматирование ячеек, применённое с помощью свойств
EditorProperties(TreeListColumn.EditorPropertiesиTreeViewControl.EditorProperties).
Для элемента управления TreeList вы можете использовать свойство
TreeListColumn.TextExportMode, чтобы переопределить параметрtextExportModeметода для отдельных колонок. -
separator— строка, задающая разделитель, используемый для разграничения значений ячеек в выходном документе. Разделитель по умолчанию — запятая (","). -
quoteStringsWithSeparators— задаёт, следует ли заключать значения в кавычки ("), если они содержат указанныйseparator.
Экспорт в форматы изображений¶
Метод ExportToImages элемента управления TreeList выполняет постраничный экспорт в формат изображения (PNG, JPEG, SVG или WebP). Если содержимое контрола слишком велико, чтобы поместиться на одной странице, метод разбивает данные на страницы и экспортирует каждую страницу как отдельное изображение.
Формат и размер целевой страницы определяются параметром, передаваемым методу. Метод ExportToImages использует тот же механизм разбиения на страницы, что и метод ExportToPdf.
TreeListControl.ExportToImages(string directory, string fileNameFormat, ImageExportOptions? options = null)
using Eremex.AvaloniaUI.Controls.DataControl;
using Eremex.DocumentProcessing.Printing;
ImageExportOptions options = new ImageExportOptions();
options.Format = MxImageFormat.Svg;
options.FitToPageWidth = false;
options.PaperKind = PaperKind.A4;
options.Margins = new Margins(36, 36, 36, 36);
options.PageRange = "1-2";
treeList.ExportToImages(@"c:\images\", "img{0}.svg", options);
Используйте параметры метода ExportToImages, чтобы настроить параметры страницы, формат выходного изображения и шаблон имени файла.
-
directory— задаёт каталог, в который сохраняются файлы изображений. Если указанный каталог не существует, возникает исключение. -
fileNameFormat— задаёт шаблон именования выходных файлов изображений.Значение
fileNameFormatдолжно включать заполнитель{0}в позиции, куда нужно вставить номер страницы в генерируемых именах файлов. Вы можете форматировать номер страницы с помощью стандартных и пользовательских числовых спецификаторов формата. Ниже приведены примеры значенийfileNameFormat:- "image{0}.png" — создаёт файлы вида "image1.png", "image2.png" и так далее.
- "image{0:D3}.svg" — создаёт файлы вида "image001.svg", "image002.svg" и так далее.
Необязательный параметр options (типа ImageExportOptions) позволяет настроить параметры экспорта. Класс ImageExportOptions предоставляет следующие члены:
-
ImageExportOptions.Format— формат выходного изображения (PNG, JPEG, SVG или WebP). -
ImageExportOptions.PageBorderColor— цвет рамки, отрисовываемой вокруг каждой страницы. -
ImageExportOptions.PageBorderWidth— ширина рамки, отрисовываемой вокруг каждой страницы. -
Событие
PageExportOptions.ExportProgress— возникает многократно во время экспорта данных. Параметр событияExportProgressEventArgs.ProgressPercentageуказывает прогресс в процентах (от 0 до 100). Это событие можно использовать, чтобы отображать пользователям прогресс экспорта в удобном виде. -
Свойство
PageExportOptions.ShowBands(по умолчаниюnull) — задаёт, включаются ли группы контрола в экспорт.Если
ShowBandsравноnull, значение параметра определяется свойством контролаTreeListControl.ShowBands. -
Свойство
PageExportOptions.ShowColumnHeaders(по умолчаниюnull) — задаёт, включается ли панель заголовков колонок в экспорт.Если
ShowColumnHeadersравноnull, значение параметра определяется свойством контролаTreeListControl.ShowColumnHeaders. -
PageExportOptions.FitToPageWidth(по умолчаниюfalse) — задаёт, растягиваются ли колонки treelist по ширине бумаги. -
PageExportOptions.Landscape(по умолчаниюfalse) — задаёт ориентацию страницы: горизонтальную (Landscape) или вертикальную (Portrait). -
PageExportOptions.Margins(по умолчанию72,72,72,72) — поля страницы в пунктах. 1 пункт = 1/72 дюйма. -
PageExportOptions.PageRange— строка, задающая диапазон экспортируемых страниц. Можно использовать следующие обозначения для указания диапазона выходных страниц:- "1" — экспортирует страницу 1.
- "1, 4, 8-10" — экспортирует страницы 1, 4 и с 8 по 10.
- "7-" — экспортирует страницы, начиная с 7 и до конца.
Значение свойства
PageRangeпо умолчанию — пустая строка, при которой экспортируются все страницы. -
PageExportOptions.PaperKind(по умолчаниюA4) — размер бумаги.
* Эта страница переведена с использованием технологий машинного перевода.


