将隐藏列/模板列导出到Excel

时间:2016-09-30 12:32:55

标签: c# telerik

要在网格中显示我的数据,我使用了一些模板列。

我有多个要显示的字段,例如:Name - Surname。 但是为了将导出作为excel文件,我需要将该信息拆分为2列。 要在excel导出中应用过滤器..

<telerik:GridTemplateColumn UniqueName="PRD_exp" Exportable="true"
                            HeaderText="Info1<br/>Info2" >
    <ItemTemplate>
        <%#((myDataTYPE)Container.DataItem).Info1 %>
        <br/>-<br/>
        <%#((myDataTYPE)Container.DataItem).Info2 %>
    </ItemTemplate>
</telerik:GridTemplateColumn>

在我的excel导出中,我希望该信息位于两个不同的列中。 因此,我已将模板列的可见性设置为Exportable="false",并通过为每个数据设置visible="false"将其创建为隐藏列。

像这样:

<telerik:GridBoundColumn DataField="Info1" UniqueName="Info1"
                         Exportable="true"  Visible="false" />
<telerik:GridBoundColumn DataField="Info2" UniqueName="Info2"
                         Exportable="true"  Visible="false" />

如何通过rad导出实现这一目标?

1 个答案:

答案 0 :(得分:1)

在导出按钮单击事件中进行更改。

添加GridUser.MasterTableView.GetColumn("Info1").Display=true就可以了。

protected void btnExport_Click(object sender, EventArgs e)
{
    GridUser.ExportSettings.FileName = "ExportedFile;
    GridUser.MasterTableView.GetColumn("Info1").Display =true;
    GridUser.MasterTableView.GetColumn("Info2").Display = true; 
    GridUser.ExportSettings.Excel.Format = (GridExcelExportFormat)Enum.Parse(typeof(GridExcelExportFormat), "Xlsx");
    GridUser.ExportSettings.IgnorePaging = true;
    GridUser.ExportSettings.ExportOnlyData = true;
    GridUser.ExportSettings.OpenInNewWindow = true;
    GridUser.MasterTableView.ExportToExcel();
}