Hi,
I'm having a problem with the formatting of currency during the export to excel. I'm using version 13.2 of the controls.
I want the column values to be formatted as "£#,##0.00" however it formats it as "$#,##0.00" when it gets to excel.
I created a simple class
Public Class Data Public Property Price As Double End Class
Public Class Data
Public Property Price As Double
End Class
Then create a list of about 10 numbers using this class, bound the list to the grid and then exported the grid to excel.
On the initializeColumn event I was setting the column format as below.
Private Sub UltraGridExcelExporter1_InitializeColumn(sender As Object, e As Infragistics.Win.UltraWinGrid.ExcelExport.InitializeColumnEventArgs) Handles UltraGridExcelExporter1.InitializeColumn e.ExcelFormatStr = "£#,##0.00" End Sub
Private Sub UltraGridExcelExporter1_InitializeColumn(sender As Object, e As Infragistics.Win.UltraWinGrid.ExcelExport.InitializeColumnEventArgs) Handles UltraGridExcelExporter1.InitializeColumn
e.ExcelFormatStr = "£#,##0.00"
End Sub
When I view the exported spreadsheet the numbers are formatted "$#,##0.00"
If I try it with "€#,##0.00" it will format it using the €. It seems to not like £ any more.
Your help will be greatly appreciated.
kind regards,
Nathan
I've attached an example project.
Nathan,
I ran your sample application and it worked fine for me. It looks like you are doing everything you need to do to get the currency symbol that you want. You are handling the InitializeColumn event of the ExcelExporter and then setting the ExcelFormatStr property of the Column. I have attached the output file that I generated with your application. Is there some setting on your machine that is causing the Excel file to default to United States currency?
Hi Nathan,
I have investigated your issue and it seems that is caused by the UK settings on your machine. Specifically when the CurrentCulture of the application uses CurrencySymbol different than “$”, when you export to excel that CurrencySymbol is always replaced with “$” - in your case the CurrecncySymbol is "£" and that is why it is beeing replaced with "$". To be able to track this issue I have created a support ticket for you in our internal tracking system with ID: CAS-130259-G3G5B6. So I will update you for the progress of this matter trough the mentioned case.
Excellent stuff, thank you.
Just to support what redox is experiencing, I have found that since upgrading to 13.1.20131.2095 Infragistics4.Documents.Excel.v13.1 when exporting to Excel on any platform that is configured for UK settings, I am now experiencing the same result.
My code (VB.NET VS2010) is using the excelExporter_CellExported event and applying cell format as follows:-
Dim tmCF As IWorksheetCellFormat = e.CurrentWorksheet.Rows(e.CurrentRowIndex).Cells(e.CurrentColumnIndex).CellFormat
tmCF.FormatString = "£#,##0.00;-£#,##0.00;£0.00"
The resultant cells in Excel display as $ Currency amounts and have a "Custom" format as follows: $#,##0.00;-$#,##0.00;$0.00
This code was working fine and exporting as £ prior to the upgrade to the service pack. I have now deployed this version of the assemblies and confirm that the deployed platforms are also experiencing this effect.
A workaround or fix is urgently required.
Many thanks
Paul
I have been informed that the bug is fixed internally and the fix will be available in the next service release, which is due at the end of February.
Infragistics Product Service Releases Schedule - www.infragistics.com
Fantastic, it works a treat. Thanks you.