Telerik RadGridView.ExportToXlsx - 将单元格格式化为数字
Telerik RadGridView.ExportToXlsx - format cells as number
我需要 RadGridView
的 Excel 导出,以便在 Excel 中具有 "Number" 的单元格格式,格式样式为“{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
,格式正常,但所有单元格都恢复为格式 "General" 在 Excel 中,而我需要它们作为 "Number".
有关于应用视觉样式的文档:
https://docs.telerik.com/devtools/wpf/controls/radgridview/export/how-to/style-exported-documents
但不要更改我能找到的基础格式。
有什么建议吗?
您应该按照 the official docs 中的说明使用 CellValueFormat
。
CellValueFormat
class 定义在 Telerik.Windows.Documents.Spreadsheet.dll
所以你需要引用这个程序集
我需要 RadGridView
的 Excel 导出,以便在 Excel 中具有 "Number" 的单元格格式,格式样式为“{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
,格式正常,但所有单元格都恢复为格式 "General" 在 Excel 中,而我需要它们作为 "Number".
有关于应用视觉样式的文档: https://docs.telerik.com/devtools/wpf/controls/radgridview/export/how-to/style-exported-documents
但不要更改我能找到的基础格式。
有什么建议吗?
您应该按照 the official docs 中的说明使用 CellValueFormat
。
CellValueFormat
class 定义在 Telerik.Windows.Documents.Spreadsheet.dll
所以你需要引用这个程序集