Excel export for GridForeignColumn
Hi, I need to export to Excel the content of a DataGrid customizing the columns I'm exporting.
So I'm using the ExportProperties.Columns to define the correct list of columns like this:
privateasyncTaskExportGrid(Microsoft.AspNetCore.Components.Web.MouseEventArgs args)
{
ExcelExportPropertiesExportProperties=newExcelExportProperties();
List<GridColumn>ExportColumns=newList<GridColumn>();
ExportColumns.Add(newGridColumn(){Field="ONE_KEY_ID",HeaderText="ONE KEY",Width="80"});
ExportColumns.Add(newGridColumn(){Field="COD_AMM_DOCS",HeaderText="Cod_Amm",Width="80"});
ExportColumns.Add(newGridColumn(){Field="nominativo",HeaderText="Nominativo",AutoFit=true});
if(!showPrivacyBtn)
{
ExportColumns.Add(newGridColumn(){Field="Spec1",HeaderText="Specializzazione",AutoFit=true});
ExportColumns.Add(newGridColumn(){Field="LuogoLav",HeaderText="Luogo Lavoro",AutoFit=true});
ExportColumns.Add(newGridColumn(){Field="ComuneLav",HeaderText="Comune Lavoro",AutoFit=true});
ExportColumns.Add(newGridColumn(){Field="ProvLav",HeaderText="Prov Lavoro",AutoFit=true});
}
else
{
ExportColumns.Add(newGridColumn(){Field="md_Spec1",HeaderText="Specializzazione",AutoFit=true});
ExportColumns.Add(newGridColumn(){Field="md_LuogoLav",HeaderText="Luogo Lavoro",AutoFit=true});
ExportColumns.Add(newGridColumn(){Field="md_ComuneLav",HeaderText="Comune Lavoro",AutoFit=true});
ExportColumns.Add(newGridColumn(){Field="md_ProvLav",HeaderText="Prov Lavoro",AutoFit=true});
}
ExportColumns.Add(newGridColumn(){Field="_cell",HeaderText="Cellulare",AutoFit=true});
ExportColumns.Add(newGridColumn(){Field="_email",HeaderText="Email",AutoFit=true});
ExportColumns.Add(newGridColumn(){Field="appointment",HeaderText="Appuntamento",AutoFit=true,Format="dd/MM/yyyy HH:mm"});
if((suppIT | ricercatore))ExportColumns.Add(newGridColumn(){Field="Intervistatore",HeaderText="Intervistatore",AutoFit=true});
if((showIntType &!suppIT))ExportColumns.Add(newGridForeignColumn<EnumItem>(){Field= nameof(Reperito.intType),ForeignDataSource= intType,ForeignKeyField="EID",ForeignKeyValue="descr",HeaderText= loc.Localize("Reper.IntType").ToString(),AutoFit=true});
ExportColumns.Add(newGridColumn(){Field="stato",HeaderText="Stato",Width="50"});
if(showPrivacyBtn)
{
ExportColumns.Add(newGridColumn(){Field="Trasparenza",HeaderText="Trasparenza",AutoFit=true,Type=ColumnType.Boolean});
ExportColumns.Add(newGridColumn(){Field="Privacy_info",HeaderText="Privacy Info",AutoFit=true,Type=ColumnType.Boolean});
ExportColumns.Add(newGridColumn(){Field="Privacy_AudioVideo",HeaderText="Privacy Audio Video",AutoFit=true,Type=ColumnType.Boolean});
ExportColumns.Add(newGridColumn(){Field="Privacy_Conf",HeaderText="Privacy Conformità",AutoFit=true,Type=ColumnType.Boolean});
}
ExportProperties.Columns=ExportColumns;
ExportProperties.FileName= $"Reperiti_{currJob.Text}_{selGruppo.groupName}.xlsx";
awaitDBGrid.ExportToExcelAsync(ExportProperties);
}
The foreignColumn defined for intType, which works properly in the datagrid on the page, is NULL in the exported file.
This is how I defined it in datagrid on the razor page:
<GridForeignColumn Visible=@(showIntType & !suppIT) Field=@nameof(Reperito.intType) ForeignDataSource="intType" ForeignKeyField="EID" ForeignKeyValue="descr" HeaderText="@loc.Localize("Reper.IntType").ToString()" AutoFit="true"></GridForeignColumn>
Datasource for the column is:
private List<EnumItem> intType
intType.Add(new EnumItem() { EID = 1, descr = "tel" });
intType.Add(new EnumItem() { EID = 2, descr = "web" });
Hi
Michele,
We have confirmed that this an issue and logged a defect report titled “Foreign
key column exporting as null in excel when using
ExcelExportProperties.Columns” This fix will be included in our weekly
patch release, which is expected to be rolled out on June 3rd ,
2025. You can now track the status of your request, review the
proposed resolution timeline, and contact us for any further inquiries through
this link.
https://www.syncfusion.com/feedback/67699/foreign-key-column-exporting-as-null-in-excel-when-using-excelexportproperties
Disclaimer: “Inclusion of this solution in the weekly release may
change due to other factors including but not limited to QA checks and works
reprioritization”
We will get back to you once the release is rolled out. Thanks for your
understanding.
Regards,
Prathap S
I have to be paid as beta tester for your applications. This is the second issue I address you in a few weeks :)
Thanks for checking it, I'm not in a great dash because I already decoded those fields in the class and I'm exporting the results of the newly created decoded properties.
Regards
Michele
Thanks for your patience,
We are glad to announce that, we have included the fix for the issue “Foreign key column exporting as null in excel when using ExcelExportProperties.Columns” in our 29.2.8 release. So please upgrade to our latest version of Syncfusion NuGet package to resolve the reported issue. Please find the NuGet package for the latest fixes and features below.
NuGet : https://www.nuget.org/packages/Syncfusion.Blazor.Grid
Root
cause
: If Column.ColumnData is null means
Column.GetForeignData() must be used, it was missing.
Action Taken: Now added the
Column.GetForeignData() and assigned foreignValue to the necessary variable.
- 3 Replies
- 2 Participants
-
MI Michele
- May 16, 2025 09:06 AM UTC
- Jun 3, 2025 08:10 AM UTC