Agregar y recuperar datos

Añadir datos a las celdas

Aspose.Cells proporciona una clase Workbook que representa un archivo de Excel de Microsoft. La clase Workbook contiene una colección de 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 de Cells. Cada elemento en la colección de 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 permite a los desarrolladores agregar diferentes tipos de datos a las celdas. Utilizando estas versiones sobrecargadas del método PutValue, es posible agregar valores booleanos, de cadena, dobles, enteros o fecha/hora, etc. a la celda.

Aspose::Cells::Startup();
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
//Path of input
U16String dirPath(u"");
//Path of output
U16String outPath(u"");
//Path of input excel file
U16String sampleData = dirPath + u"sampleData.xlsx";
//Path of output excel file
U16String outputData = outPath + u"outputData.xlsx";
//Read input excel file
Workbook workbook(sampleData);
//Accessing the second worksheet in the Excel file
Worksheet worksheet = workbook.GetWorksheets().Get(1);
//Adding a string value to the cell
worksheet.GetCells().Get(u"A1").PutValue(u"Hello World");
//Adding a double value to the cell
worksheet.GetCells().Get(u"A2").PutValue(20.5);
//Adding an integer value to the cell
worksheet.GetCells().Get(u"A3").PutValue(15);
//Adding a boolean value to the cell
worksheet.GetCells().Get(u"A4").PutValue(true);
//Setting the display format of the date
Cell cell = worksheet.GetCells().Get(u"A5");
Style style = cell.GetStyle();
style.SetNumber(15);
cell.SetStyle(style);
//Save the workbook
workbook.Save(outputData);
Aspose::Cells::Cleanup();

Mejorando la eficiencia

Si usas el método PutValue para agregar 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 enormemente la eficiencia de tus aplicaciones.

Recuperación de datos de celdas

Aspose.Cells proporciona una clase Workbook que representa un archivo de Microsoft Excel. La clase Workbook contiene una colección de Worksheets que permite acceder a las 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 de Cells. Cada elemento de la colección Cells representa un objeto de la clase Cell.

La clase Cell proporciona varios métodos que permiten a los desarrolladores recuperar valores de las celdas de acuerdo a sus tipos de datos. Estos métodos incluyen:

Cuando un campo no está lleno, las celdas con GetDoubleValue o GetFloatValue lanzan una excepción.

El tipo de datos contenido en una celda también se puede verificar utilizando el método GetType de la clase Cell. De hecho, el método GetType 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
CellValueType_IsBool Especifica que el valor de la celda es Booleano.
CellValueType_IsDateTime Especifica que el valor de la celda es fecha/hora.
CellValueType_IsNull Representa una celda en blanco.
CellValueType_IsNumeric Especifica que el valor de la celda es numérico.
CellValueType_IsString Especifica que el valor de la celda es de cadena.
CellValueType_IsUnknown Especifica que el valor de la celda es desconocido.
También puedes usar los tipos de valor de celda predefinidos anteriores para comparar con el tipo de dato presente en cada celda.
Aspose::Cells::Startup();
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
//Path of input
U16String dirPath(u"");
//Path of output
U16String outPath(u"");
//Path of input excel file
U16String sampleData = dirPath + u"sampleData.xlsx";
//Read input excel file
Workbook workbook(sampleData);
//Accessing the third worksheet in the Excel file
Worksheet worksheet = workbook.GetWorksheets().Get(2);
//Get cells from sheet
Cells cells = worksheet.GetCells();
//Variable declarations
U16String strVal;
Date dateVal;
double dblVal;
bool boolVal;
Enumerator<Cell> enCell = cells.GetEnumerator();
while (enCell.MoveNext())
{
Cell cell = enCell.GetCurrent();
switch (cell.GetType())
{
//Evaluating the data type of the cell data for string value
case CellValueType::IsString:
std::cout <<"Cell Value Type Is String." << std::endl;
strVal = cell.GetStringValue();
break;
//Evaluating the data type of the cell data for double value
case CellValueType::IsNumeric:
std::cout <<"Cell Value Type Is Numeric." << std::endl;
dblVal = cell.GetDoubleValue();
break;
//Evaluating the data type of the cell data for boolean value
case CellValueType::IsBool:
std::cout <<"Cell Value Type Is Bool." << std::endl;
boolVal = cell.GetBoolValue();
break;
//Evaluating the data type of the cell data for date/time value
case CellValueType::IsDateTime:
std::cout <<"Cell Value Type Is DateTime." << std::endl;
dateVal = cell.GetDateTimeValue();
break;
//Evaluating the unknown data type of the cell data
case CellValueType::IsUnknown:
cell.GetStringValue();
break;
default:
break;
}
}
Aspose::Cells::Cleanup();