Мне нужен экспорт в Excel RadGridView
, чтобы иметь формат ячейки «Число» в Excel со стилем формата «{0: #, ## 0,00}».
Я достигчто с помощью .Export обрабатывается событие ElementExporting
:
grid.ElementExporting += Grid_ElementExporting;
grid.Export(stream, new GridViewExportOptions()
{
Format = ExportFormat.ExcelML,
ShowColumnHeaders = true,
ShowColumnFooters = true
});
private void Grid_ElementExporting(object sender, GridViewElementExportingEventArgs e)
{
if (e.Element == ExportElement.Cell)
{
var column = e.Context as GridViewDataColumn;
if (column?.DataType?.Name == "Decimal")
{
e.Value = string.Format(@"{0:#,##0.00}", e.Value);
}
}
}
Однако при открытии в Excel появляется ошибка " Формат файла и расширение X не совпадают." Несмотря на то, что он определенно имеет расширение .xls.Я могу щелкнуть мимо этого, и он загрузится правильно.
Читая об этом больше, звучит так, как будто я должен обновить, чтобы использовать вместо него .ExportToXlsx, и получение файлов в .xlsx было бы в любом случае перком.
Я изменяю .Export
на .ExportToXlxs
, а ElementExporting
на ElementExportingToDocument
, и форматирование работает, но все ячейки вернулись к формату «Общие» в Excel, тогда как они нужны мне как«Число».
Есть документация по применению визуальных стилей: https://docs.telerik.com/devtools/wpf/controls/radgridview/export/how-to/style-exported-documents
Но не для того, чтобы изменить базовый формат, который я могу найти.
Есть предложения?