Aggiungere e recuperare dati

Aggiunta di dati a Cells

Aspose.Cells offre un corsoCartella di lavoro che rappresenta un file Excel Microsoft. IlCartella di lavoro la classe contiene unFogli di lavoro raccolta che consente l’accesso a ciascun foglio di lavoro nel file Excel. Un foglio di lavoro è rappresentato daFoglio di lavoro classe. IlFoglio di lavoro la classe fornisce unICelle collezione. Ogni elemento delICelle collezione rappresenta un oggetto dellaICellclasse.

Aspose.Cells consente agli sviluppatori di aggiungere dati alle celle nei fogli di lavoro chiamando il metodoICell classePutValue metodo. Aspose.Cells fornisce versioni sovraccaricate diPutValue metodo che consente agli sviluppatori di aggiungere diversi tipi di dati alle celle. L’utilizzo di queste versioni sovraccaricate diPutValuemetodo, è possibile aggiungere alla cella un valore booleano, stringa, double, intero o data/ora, ecc.

//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
//Path of input excel file
StringPtr sampleData = dirPath->StringAppend(new String("sampleData.xlsx"));
//Path of output excel file
StringPtr outputData = outPath->StringAppend(new String("outputData.xlsx"));
//Read input excel file
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(sampleData);
//Accessing the second worksheet in the Excel file
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(1);
//Adding a string value to the cell
worksheet->GetICells()->GetObjectByIndex(new String("A1"))->PutValue("Hello World");
//Adding a double value to the cell
worksheet->GetICells()->GetObjectByIndex(new String("A2"))->PutValue(20.5);
//Adding an integer value to the cell
worksheet->GetICells()->GetObjectByIndex(new String("A3"))->PutValue(15);
//Adding a boolean value to the cell
worksheet->GetICells()->GetObjectByIndex(new String("A4"))->PutValue(true);
//Setting the display format of the date
intrusive_ptr<ICell> cell = worksheet->GetICells()->GetObjectByIndex(new String("A5"));
intrusive_ptr<IStyle> style = cell->GetIStyle();
style->SetNumber(15);
cell->SetIStyle(style);
//Save the workbook
workbook->Save(outputData);

Miglioramento dell’efficienza

Se usiPutValuemetodo per inserire una grande quantità di dati in un foglio di lavoro, è necessario aggiungere valori alle celle, prima per righe e poi per colonne. Questo approccio migliora notevolmente l’efficienza delle vostre applicazioni.

Recupero dati da Cells

Aspose.Cells offre un corsoCartella di lavoro che rappresenta un file Excel Microsoft. IlCartella di lavoro la classe contiene unFogli di lavoro raccolta che consente l’accesso ai fogli di lavoro nel file. Un foglio di lavoro è rappresentato daFoglio di lavoro classe. IlFoglio di lavoro la classe fornisce aICelle collezione. Ogni elemento delICelle collezione rappresenta un oggetto dellaICellclasse.

IlICellclass fornisce diversi metodi che consentono agli sviluppatori di recuperare i valori dalle celle in base ai loro tipi di dati. Questi metodi includono:

Quando un campo non è riempito, le celle conOttieniDoppioValore oGetFloatValuegenera un’eccezione.

Il tipo di dati contenuti in una cella può essere controllato anche utilizzando ilICell classeOttieniTipo metodo. Infatti ilICell classeOttieniTipo metodo si basa sulCellValueTypeenumerazione i cui valori predefiniti sono elencati di seguito:

Cell Tipi di valore Descrizione
CellValueType_IsBool Specifica che il valore della cella è booleano.
CellValueType_IsDateTime Specifica che il valore della cella è data/ora.
CellValueType_IsNull Rappresenta una cella vuota.
CellValueType_IsNumeric Specifica che il valore della cella è numerico.
CellValueType_IsString Specifica che il valore della cella è una stringa.
CellValueType_IsUnknown Specifica che il valore della cella è sconosciuto.
È inoltre possibile utilizzare i tipi di valore di cella predefiniti sopra per confrontare con il tipo dei dati presenti in ciascuna cella.
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
//Path of input excel file
StringPtr sampleData = dirPath->StringAppend(new String("sampleData.xlsx"));
//Read input excel file
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(sampleData);
//Accessing the third worksheet in the Excel file
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(2);
//Get cells from sheet
intrusive_ptr<ICells> cells = worksheet->GetICells();
//Variable declarations
intrusive_ptr<String> strVal;
intrusive_ptr<Aspose::Cells::System::DateTime> dateVal;
Aspose::Cells::System::Double dblVal;
Aspose::Cells::System::Boolean boolVal;
for (int i = 0; i < cells->GetCount(); i++)
{
intrusive_ptr<ICell> cell = cells->GetObjectByIndex(i);
switch (cell->GetType())
{
//Evaluating the data type of the cell data for string value
case CellValueType_IsString:
Console::WriteLine(new String("Cell Value Type Is String."));
strVal = cell->GetStringValue();
break;
//Evaluating the data type of the cell data for double value
case CellValueType_IsNumeric:
Console::WriteLine(new String("Cell Value Type Is Numeric."));
dblVal = cell->GetDoubleValue();
break;
//Evaluating the data type of the cell data for boolean value
case CellValueType_IsBool:
Console::WriteLine(new String("Cell Value Type Is Bool."));
boolVal = cell->GetBoolValue();
break;
//Evaluating the data type of the cell data for date/time value
case CellValueType_IsDateTime:
Console::WriteLine(new String("Cell Value Type Is DateTime."));
dateVal = cell->GetDateTimeValue();
break;
//Evaluating the unknown data type of the cell data
case CellValueType_IsUnknown:
cell->GetStringValue();
break;
default:
break;
}
}