导出到 Excel 时缺少辐射格列字段
本文关键字:辐射 字段 Excel | 更新日期: 2023-09-27 18:13:02
my.ascx>>
<telerik:RadAjaxPanel ID="ajaxPanel_Header" runat="server">
<asp:Button ID="Button_ExportToExcel" runat="server" Text="" CssClass="ExportToExcel" UseSubmitBehavior="False" OnClick="Button_ExportToExcel_Click" />
<telerik:RadGrid ID="grid_Permission" runat="server" AutoGenerateColumns="False" PageSize="200" GridLines="None" CellSpacing="0" AllowSorting="True" ShowGroupPanel="True" ShowFooter="True" OnNeedDataSource="grid_Permission_NeedDataSource" OnItemDataBound="grid_Permission_ItemDataBound" OnDetailTableDataBind="grid_Permission_DetailTableDataBind" OnItemCommand="grid_Permission_ItemCommand">
...
...
...
<MasterTableView CellSpacing="-1" NoMasterRecordsText="Kayıt bulunamadı." DataKeyNames="MrkDocHeaderId,ProdStoreOrderDetailId,IsStoreOutSubscribed,ProdStoreStockTypeId" HierarchyLoadMode="ServerOnDemand" Name="tbl_Master" EnableHeaderContextMenu="True" GroupLoadMode="Client" AllowPaging="True" PageSize="10">
...
...
<telerik:GridBoundColumn HeaderText="Onay Durumu" DataField="IsStoreOutSubscribedText" FilterControlAltText="Filter IsStoreOutSubscribedText column" UniqueName="IsStoreOutSubscribedText" Visible="False" Exportable="true">
<ColumnValidationSettings>
<ModelErrorMessage Text="" />
</ColumnValidationSettings>
</telerik:GridBoundColumn>
</MasterTableView>
</telerik:RadGrid>
</telerik:RadAjaxPanel>
my.ascx.cs>>
protected void Button_ExportToExcel_Click(object sender, EventArgs e)
{
//RadGrid grid = grid_Permission;
if (grid_Permission != null)
{
if (grid_Permission.Items.Count > 0)
{
try
{
//grid_Permission.ExportSettings.Excel.Format = GridExcelExportFormat.Biff;
grid_Permission.ExportSettings.FileName = string.Format("MamulDepoUrunRaporu_{0}", DateTime.Now);
grid_Permission.ExportSettings.IgnorePaging = true;
grid_Permission.ExportSettings.OpenInNewWindow = true;
grid_Permission.ExportSettings.ExportOnlyData = true;
grid_Permission.MasterTableView.UseAllDataFields = true;
//grid_Permission.MasterTableView.GetColumn("img_IsStoreOutSubscribed").Visible = false;
grid_Permission.MasterTableView.ExportToExcel();
}
finally
{
}
}
}
}
这是我的问题:
我有一个Telerik radgrid。我想导出以超越此网格的某些字段,无论是否可见。但是在我导出的文件中,我看不到 visible=false 字段值,即使它们被标记为可导出="true">
我试图在导出之前将列可见性更改为 true,然后再次设置 false 等,没有任何变化。
对原因有什么想法吗?
我不确定您问题的根源,但是这就是我导出到 excel 并且它的工作原理。
protected void ExpExcel_Click(object sender, EventArgs e)
{
//exclude columns from being exported in excel
foreach (GridColumn col in RadGrid1.MasterTableView.Columns)
{
if ((col.UniqueName.Contains("EditCommandColumn")) ||
(col.UniqueName.Contains("column1")))
{
col.Display = false;
}
else
{
col.Display = true;
}
}
//format content to be exported in excel
foreach (GridFilteringItem item in RadGrid1.MasterTableView.GetItems(GridItemType.FilteringItem))
item.Visible = false;
//the other settings you need...
RadGrid1.ExportSettings.FileName = "yourFileName;
RadGrid1.ExportSettings.ExportOnlyData = true;
RadGrid1.ExportSettings.Excel.Format = Telerik.Web.UI.GridExcelExportFormat.ExcelML;
//example of renaming column header in excel
RadGrid1.MasterTableView.Columns.FindByUniqueName("something").HeaderText = "something else";
//finally export the columns
RadGrid1.MasterTableView.ExportToExcel();
}
让我们知道这是否有帮助。