我正在将Telerik winforms网格导出为excel,这很好用。我出口的其中一个字段是名为“USPerson'”的复选框。导出时USPerson字段的文本显示为true / false。我想在导出的文件中将其更改为YES / NO。
注意:通过为网格的CellFormatting设置事件并执行此操作,我可以在显示网格时执行此操作:
e.CellElement.Text = ((bool) e.CellElement.RowInfo.Cells["USPerson"].Value) ? "YES" : "NO";
导出到Excel文件时如何执行此操作?
答案 0 :(得分:1)
我找到了答案,并且我会在这里写下来让其他人看到。
我订阅了SpreadExportRenderer.WorkbookCreated事件,并根据将true / false转为YES / NO的要求自定义导出的数据。我在Telerik的以下文章中找到了其他信息:
http://docs.telerik.com/devtools/winforms/gridview/exporting-data/spread-export
我能够扫描我感兴趣的列并进行转换。
感谢。
答案 1 :(得分:1)
另一种向单元格引入更改的方法 - 外观和值都是CellFormatting事件。以下是如何通过它实现您的需求:
void exporter_CellFormatting(object sender, Telerik.WinControls.Export.CellFormattingEventArgs e)
{
if (e.GridColumnIndex == 2 && e.GridRowIndex >-1)
{
string newValue = (bool)e.GridCellInfo.Value ? "YES" : "NO";
Telerik.Windows.Documents.Spreadsheet.Model.CellSelection excelCell = (Telerik.Windows.Documents.Spreadsheet.Model.CellSelection)e.CellSelection;
excelCell.SetValue(newValue);
}
}