TableExport
TableExport создаёт в браузере настоящую книгу OOXML .xlsx и сразу запускает её загрузку. Реализация не использует сторонние библиотеки и не маскирует CSV-файл расширением Excel.
Прямой экспорт
Передайте базовое имя файла, имя листа, заголовки и двумерный массив строк:
import { TableExport } from '@stocksharp/grids/table-export';
TableExport.download(
'portfolio-summary',
'Итоги портфеля',
['Показатель', 'Значение'],
[
['Денежные средства', 125000.50],
['Открытые позиции', 7],
['Нереализованная прибыль', 4380.25],
],
);
Браузер загрузит файл с меткой времени в формате <baseName>-YYYYMMDD-HHMMSS.xlsx, например portfolio-summary-20260810-143025.xlsx.
Конечные числа записываются как числовые ячейки, остальные непустые значения — как встроенные строки. null, undefined и пустая строка создают пустые ячейки. Передавайте строки в требуемом порядке: TableExport не сортирует и не фильтрует данные.
Имя листа автоматически очищается от запрещённых Excel-символов []:*?/\, ограничивается 31 символом и заменяется на Sheet1, если после очистки ничего не осталось.
Экспорт из DataGrid
DataGrid подготавливает данные из деклараций столбцов и вызывает тот же механизм:
const data = grid.exportData();
console.log(data.headers, data.rows);
grid.download('orders', 'Заявки');
В файл попадают только видимые столбцы с exportable: true. По умолчанию используется результат value(row), а при наличии exportValue(row) — его результат. Это позволяет, например, показывать в ячейке форматированный DOM-элемент, сортировать по числовому коду, а экспортировать локализованный текст.
Строки экспортируются после фильтрации, сортировки и группировки в порядке представления. Заголовки групп в лист не добавляются, но строки свёрнутых групп сохраняются. renderLimit не обрезает экспорт, а закреплённые строки из pinnedRows() в книгу не включаются.
exportData() ничего не загружает и поэтому удобен для предварительного просмотра и тестирования содержимого. download() создаёт файл на клиенте, временно добавляет ссылку с Blob в документ и освобождает объектный URL после запуска загрузки.
Ограничения
Компонент формирует минимальную книгу с одним листом. Он не задаёт формулы, стили ячеек, ширину столбцов, несколько листов или сжатие ZIP. Если приложению нужны эти возможности, подготовьте экспорт отдельным специализированным инструментом.