Exportar datos de Excel a un DataTable sin ningún formato
A veces los usuarios quieren exportar datos de Excel a una tabla de datos sin ningún formato. Por ejemplo, si alguna celda tiene un valor de 0.012345 y está formateada para mostrar dos lugares decimales, entonces cuando el usuario exporte datos de Excel a una tabla de datos, se exportará como 0.01 y no como 0.012345. Para resolver este problema, Aspose.Cells ha proporcionado la propiedad ExportTableOptions.FormatStrategy que puede tomar uno de estos tres valores
- CellValueFormatStrategy.CellStyle
- CellValueFormatStrategy.DisplayStyle
- CellValueFormatStrategy.None
Si lo establece en CellValueFormatStrategy.None, entonces exportará los datos sin ningún formato.
Código de Muestra
El siguiente ejemplo explica el uso de la propiedad ExportTableOptions.FormatStrategy para exportar datos de Excel con y sin ningún formato.
// 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()); |
Salida de la consola
A continuación se muestra la salida de depuración de la consola del código de ejemplo anterior
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