RadGridView 将 Excel 自定义复选框导出为 YES/NO

RadGridView Export to Excel Custom Checkboxes as YES/NO

我正在将 Telerik winforms 网格导出到 excel,效果很好。我要导出的字段之一是名为 'USPerson' 的复选框。导出时 USPerson 字段的文本显示为 true/false。我想在导出的文件中将其更改为 YES/NO。

注意:我可以在显示网格时执行此操作,方法是为网格设置 CellFormatting 事件并执行以下操作:

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

导出到 excel 文件时我该如何操作?

我找到了答案,我会把它写在这里供其他人查看。

我订阅了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

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

谢谢。

另一种对单元格进行更改的方法 - 外观和值都是 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);
        }
    }