RadGridView导出到Excel自定义复选框为是/否

时间:2016-09-08 13:30:50

标签: c# excel winforms telerik telerik-grid

我正在将Telerik winforms网格导出为ex​​cel,这很好用。我出口的其中一个字段是名为“USPerson'”的复选框。导出时USPerson字段的文本显示为true / false。我想在导出的文件中将其更改为YES / NO。

注意:通过为网格的CellFormatting设置事件并执行此操作,我可以在显示网格时执行此操作:

e.CellElement.Text = ((bool) e.CellElement.RowInfo.Cells["USPerson"].Value) ? "YES" : "NO";

导出到Excel文件时如何执行此操作?

2 个答案:

答案 0 :(得分:1)

我找到了答案,并且我会在这里写下来让其他人看到。

我订阅了SpreadExportRenderer.WorkbookCreated事件,并根据将true / false转为YES / NO的要求自定义导出的数据。我在Telerik的以下文章中找到了其他信息:

http://docs.telerik.com/devtools/winforms/gridview/exporting-data/spread-export

http://docs.telerik.com/devtools/document-processing/libraries/radspreadprocessing/working-with-workbooks/create-open-and-save-workbooks

我能够扫描我感兴趣的列并进行转换。

感谢。

答案 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);
        }
    }
相关问题