Gestionar datos de archivos de Excel
Cómo agregar datos a las celdas
Aspose.Cells proporciona una clase, Workbook, que representa un archivo de Microsoft Excel. La clase Workbook contiene una colección Worksheets que permite el acceso a cada hoja de cálculo en el archivo de Excel. Una hoja de cálculo está representada por la clase Worksheet. La clase Worksheet proporciona una colección Cells. Cada elemento en la colección Cells representa un objeto de la clase Cell.
Aspose.Cells permite a los desarrolladores agregar datos a las celdas en hojas de cálculo llamando al método PutValue de la clase Cell. Aspose.Cells proporciona versiones sobrecargadas del método PutValue que permiten a los desarrolladores agregar diferentes tipos de datos a las celdas. Utilizando estas versiones sobrecargadas del método PutValue, es posible agregar un valor Booleano, cadena, doble, entero o de fecha/hora, etc. a la celda.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create directory if it is not already present. | |
bool IsExists = System.IO.Directory.Exists(dataDir); | |
if (!IsExists) | |
System.IO.Directory.CreateDirectory(dataDir); | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Obtaining the reference of the first worksheet | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Adding a string value to the cell | |
worksheet.Cells["A1"].PutValue("Hello World"); | |
// Adding a double value to the cell | |
worksheet.Cells["A2"].PutValue(20.5); | |
// Adding an integer value to the cell | |
worksheet.Cells["A3"].PutValue(15); | |
// Adding a boolean value to the cell | |
worksheet.Cells["A4"].PutValue(true); | |
// Adding a date/time value to the cell | |
worksheet.Cells["A5"].PutValue(DateTime.Now); | |
// Setting the display format of the date | |
Style style = worksheet.Cells["A5"].GetStyle(); | |
style.Number = 15; | |
worksheet.Cells["A5"].SetStyle(style); | |
// Saving the Excel file | |
workbook.Save(dataDir + "output.out.xls"); |
Cómo mejorar la eficiencia
Si usas el método PutValue para ingresar una gran cantidad de datos a una hoja de cálculo, debes agregar valores a las celdas primero por filas y luego por columnas. Este enfoque mejora considerablemente la eficiencia de tus aplicaciones.
Cómo recuperar datos de las celdas
Aspose.Cells proporciona una clase, Workbook que representa un archivo de Microsoft Excel. La clase Workbook contiene una colección Worksheets que permite el acceso a hojas de cálculo en el archivo. Una hoja de cálculo está representada por la clase Worksheet. La clase Worksheet proporciona una colección Cells. Cada elemento en la colección Cells representa un objeto de la clase Cell.
La clase Cell proporciona varias propiedades que permiten a los desarrolladores recuperar valores de las celdas de acuerdo a sus tipos de datos. Estas propiedades incluyen:
- StringValue: devuelve el valor de cadena de la celda.
- DoubleValue: devuelve el valor doble de la celda.
- BoolValue: devuelve el valor booleano de la celda.
- DateTimeValue: devuelve el valor de fecha/hora de la celda.
- FloatValue: devuelve el valor de punto flotante de la celda.
- IntValue: devuelve el valor entero de la celda.
Cuando un campo no está lleno, las celdas con DoubleValue o FloatValue lanzan una excepción.
También se puede verificar el tipo de datos contenido en una celda utilizando la propiedad Type de la clase Cell. De hecho, la propiedad Type de la clase Cell se basa en la enumeración CellValueType cuyos valores predefinidos se enumeran a continuación:
Tipos de Valor de Celda | Descripción |
---|---|
IsBool | Especifica que el valor de la celda es Booleano. |
IsDateTime | Especifica que el valor de la celda es fecha/hora. |
IsNull | Representa una celda en blanco. |
IsNumeric | Especifica que el valor de la celda es numérico. |
IsString | Especifica que el valor de la celda es una cadena de texto. |
IsUnknown | Especifica que el valor de la celda es desconocido. |
También puedes utilizar los tipos de valor de celda predefinidos anteriores para comparar con el tipo de datos presente en cada celda.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Opening an existing workbook | |
Workbook workbook = new Workbook(dataDir + "book1.xls"); | |
// Accessing first worksheet | |
Worksheet worksheet = workbook.Worksheets[0]; | |
foreach (Cell cell1 in worksheet.Cells) | |
{ | |
// Variables to store values of different data types | |
string stringValue; | |
double doubleValue; | |
bool boolValue; | |
DateTime dateTimeValue; | |
// Passing the type of the data contained in the cell for evaluation | |
switch (cell1.Type) | |
{ | |
// Evaluating the data type of the cell data for string value | |
case CellValueType.IsString: | |
stringValue = cell1.StringValue; | |
Console.WriteLine("String Value: " + stringValue); | |
break; | |
// Evaluating the data type of the cell data for double value | |
case CellValueType.IsNumeric: | |
doubleValue = cell1.DoubleValue; | |
Console.WriteLine("Double Value: " + doubleValue); | |
break; | |
// Evaluating the data type of the cell data for boolean value | |
case CellValueType.IsBool: | |
boolValue = cell1.BoolValue; | |
Console.WriteLine("Bool Value: " + boolValue); | |
break; | |
// Evaluating the data type of the cell data for date/time value | |
case CellValueType.IsDateTime: | |
dateTimeValue = cell1.DateTimeValue; | |
Console.WriteLine("DateTime Value: " + dateTimeValue); | |
break; | |
// Evaluating the unknown data type of the cell data | |
case CellValueType.IsUnknown: | |
stringValue = cell1.StringValue; | |
Console.WriteLine("Unknown Value: " + stringValue); | |
break; | |
// Terminating the type checking of type of the cell data is null | |
case CellValueType.IsNull: | |
break; | |
} | |
} |
Temas avanzados
- Accediendo a celdas de una hoja de cálculo
- Convertir datos numéricos de texto a número
- Crear subtotales
- Filtrado de datos
- Ordenación de datos
- Validación de datos
- Exportar datos desde la hoja de cálculo
- Buscar o buscar datos
- Obtener el valor de cadena de celda con y sin formato
- Añadir Texto Enriquecido HTML dentro de la Celda
- Insertar hipervínculos en Excel u OpenOffice
- Importar datos en la hoja de cálculo
- Cómo y dónde utilizar enumeradores
- Medir el ancho y alto del valor de la celda en unidades de píxeles
- Lectura de valores de celda en múltiples hilos simultáneamente
- Conversión entre el nombre de la celda y el índice de fila/columna
- Poblar datos primero por fila luego por columna
- Preservar el prefijo de comilla simple del valor de la celda o rango
- Acceder y actualizar partes de texto enriquecido de la celda