我需要a的Excel导出在ExcelRadGridView
中具有“数字”的单元格格式,格式样式为“{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
但不要改变我能找到的底层格式。
有什么建议么?
您应该按照官方文档中的CellValueFormat
说明使用 a 。
在CellValueFormat
类中定义Telerik.Windows.Documents.Spreadsheet.dll
,所以你需要引用此程序集
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句