Export Excel Data to DataTable without any Formatting
Sometimes users want to export excel data into a data table without any formatting. For example, if some cell has a value 0.012345 and it is formatted as to display two decimal places, then when the user will export excel data to a data table, it will be exported as 0.01 and not as 0.012345. To deal with this problem, Aspose.Cells has provided ExportTableOptions.FormatStrategy property which can take one of these three values
- CellValueFormatStrategy.CellStyle
- CellValueFormatStrategy.DisplayStyle
- CellValueFormatStrategy.None
If you will set it to CellValueFormatStrategy.None, then it will export the data without any formatting.
Sample Code
The following sample explains the use of ExportTableOptions.FormatStrategy property to export excel data with and without any formatting.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook | |
Workbook workbook = new Workbook(); | |
// Access first worksheet | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Access cell A1 | |
Cell cell = worksheet.Cells["A1"]; | |
// Put value inside the cell | |
cell.PutValue(0.012345); | |
// Format the cell that it should display 0.01 instead of 0.012345 | |
Style style = cell.GetStyle(); | |
style.Number = 2; | |
cell.SetStyle(style); | |
// Display the cell values as it displays in excel | |
Console.WriteLine("Cell String Value: " + cell.StringValue); | |
// Display the cell value without any format | |
Console.WriteLine("Cell String Value without Format: " + cell.GetStringValue(CellValueFormatStrategy.None)); | |
// Export Data Table Options with FormatStrategy as CellStyle | |
ExportTableOptions opts = new ExportTableOptions(); | |
opts.ExportAsString = true; | |
opts.FormatStrategy = CellValueFormatStrategy.CellStyle; | |
// Export Data Table | |
DataTable dt = worksheet.Cells.ExportDataTable(0, 0, 1, 1, opts); | |
// Display the value of very first cell | |
Console.WriteLine("Export Data Table with Format Strategy as Cell Style: " + dt.Rows[0][0].ToString()); | |
// Export Data Table Options with FormatStrategy as None | |
opts.FormatStrategy = CellValueFormatStrategy.None; | |
dt = worksheet.Cells.ExportDataTable(0, 0, 1, 1, opts); | |
// Display the value of very first cell | |
Console.WriteLine("Export Data Table with Format Strategy as None: " + dt.Rows[0][0].ToString()); |
Console Output
Below is the console debug output of the above sample code
Cell String Value: 0.01
Cell String Value without Format: 0.012345
Export Data Table with Format Strategy as Cell Style: 0.01
Export Data Table with Format Strategy as None: 0.012345