I'm using IG 9.2's support for export to Excel. I would like to exclude a couple of columns from being exported to Excel. Can you let me know how that could be done?
The easiest way I found is to register for the EndExport event and simply manipulate the Excel Workbook form there. E.g:
Hope this helps.
Sincerely, Petar, MCTS Software Developer Infragistics www.infragistics.com\support
Thanks Petar but this may not work for me as the column still exists in the Excel. My users need the excel to feed into another system or save as csv where this column would still show.
When handling the InitializeRecord event the InitializeRecordEventArgs has a SkipRecord property. Isnt there something similar for columns ?
In that case you can register for the HeaderLabelExporting and CellExporting events and use something like this to prevent the exporting:
if (e.CurrentColumnIndex == 1)
e.Cancel = true;
Thanks Petar. This way the label and the column data doesn't get exported but I still have the problem that there is an empty column in the exported Excel. Saving the file to csv for eg will add a redundant comma to the csv for the empty column.
For now I've worked around by:
* removing the concrened columns fromthe layout (setting field.Visibility = Visibility.Collapsed)
* setting visibility back to Visible
Would it be possible for you to raise this as a request for a future release? Similar to how you have SkipRecord
We are using 2009.2. and would like to know if customizing Excel Export to "exclude" columns is available in this or any future version. Meaning, out of 5 columns displayed in the grid we would like to export only 3 columns.
Or is it possible to put in a feature request to facilitate the same.
Thanks in advance.
Any comments? Thanks.
was this enhanced somehow in last 5 years? I'm using version 2013.2 and it seems like even hiding column in the resulting worksheet doesn't work.
Thank you for your post. I have been looking into it and I can suggest you handle the DataPresenterExcelExporter’s ExportSatrted event. This event will pass you a clone of the XamDataGrid. Which is used for the exporting. Since it's a clone, you can make changes to this layout and it will not affect the on-screen grid, only the export. So you can hide fields or layouts, change colors, or anything else you like. I also created sample project for you showing this approach. Please let me know if this helps you or you have further questions on this matter.
Looking forward for your reply.
Sincerely, Stefan, MCPD Software Developer Infragistics, Inc. www.infragistics.com/support
Thanks, Stefan! That is exactly what I was looking for. I've extended your solution by creating attached property ExcludeFromExport for the Field, so now I'm not dependent on field names and I can mark fields to exclude from export directly in xaml.