I have formatted couple of Columns within the XAMDataGrid using the following Feature
<Style TargetType="{x:Type igEditors:XamNumericEditor}"> <Setter Property="Mask" Value="nnn,nnn,nnn,nnn.nn"/> <Setter Property="NullText" Value="-" /> </Style>
However when I export the Grid to Excel, the formatting of number is lost for e.g. the comma's go missing. Also huge numbers like 150000000000 are displayed as 1.5E+11. Numbers with decimal places as XXX.00 are displayed as XXX. When we manually change the format on the excelsheet to number, the value displayed is as desired.
I am not able to manually export each row and each column as the Grid might have grouping which we wish to have in the same format while export to excel.
Can you please help me with this?
Hello Aniket,
I am just checking if the latest reply helped you out and if you require any further assistance on the matter.
If the above suggestion helped you solve your issue please verify the thread as answered so other users may take better advantage of it.
Hi Dimi
In the sample project you attached earlier, how can I format percentage column?
is it possible to provide list of excel style formatting strings? Excel cells can be Number, Currency, accounting, Date, Time, Percent, Fractions, Scientific etc Can we specify .NET string formatting styles?
Hi,
In to the local installed sample browser you can see all supported text format strings listed. The sample is called:
“Workbook Object Model” and is located under the Excel Engine -> Data in to sample browser.
I hope you find all formattings you need. Let me know if you have any furthered questions.
Second question still is kind of unanswered. If styling of grid is based on data triggers; how that state (styles) is exported in excel as is? Can you build a sample project in which your records have background and foreground based on some data triggers. Based on Data; grid will get styles and that needs to be exported.
About your second questions if you are talking for any specific state like specific color in the field then you should export it manually. For example need to handle the CellExporting event and set the appropriate style for it.
Something like this:
void exporter_CellExporting(object sender, CellExportingEventArgs e)
{
Style celllStyle = e.Field.Settings.CellValuePresenterStyle;
if (celllStyle == null && e.Field.Tag != null)
celllStyle = (e.Field.Tag as LabelPresenter).Style;
Setter bgSetter = celllStyle.Setters.Where(s => s is Setter && (s as Setter).Property.Name.Equals("Background")).FirstOrDefault() as Setter;
Setter fgSetter = celllStyle.Setters.Where(s => s is Setter && (s as Setter).Property.Name.Equals("Foreground")).FirstOrDefault() as Setter;
if (bgSetter != null && fgSetter != null)
e.FormatSettings.FontColor = (fgSetter.Value as SolidColorBrush).Color;
e.FormatSettings.FillPatternForegroundColor = (bgSetter.Value as SolidColorBrush).Color;
}
Just you need to get the correct style and set to a tag or wherever is appropriate for you. I will prepare a sample for you demonstrating a cell style exporting. Let me know if you have any furthered questions.
I see your point; waiting for the sample.
Hi Abbas,
I just received a little more information from our development team about this product idea. For now we are not considering implementing it and this should be done by the provided approach earlier in this thread.
In WPF application we can put various themes and styles with triggers that change the look of various elements, etc. They are applied to elements that are virtualized so we don’t have a way to determine on which non viewable elements have to apply styling in order to export it.
I hope this helps.
Hi Abbas
I will update you if I have more information about this feature.
Thank you for using Infragistics and participating in the development of the product by providing your feedback.
Hi again,
Thank you for the prompt response. Looking forward to see this feature in coming releases.
I understand your scenario and I have research this furthered and I have opened for you a product idea -PI12080147. I have sent your product idea directly to our product management team. Infragistics continues to monitor application development for all of our products so as trends appear in requested features, we can plan accordingly. If your feature is chosen for development you will be notified at that time.
Please let me know if you have any furthered questions or you need more assistance on this.
If there is no further recommendation, please say so!