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:
- GetStringValue, restituisce il valore stringa della cella.
- OttieniDoppioValore, restituisce il doppio valore della cella.
- GetBoolValue, restituisce il valore booleano della cella.
- GetDateTimeValue, restituisce il valore data/ora della cella.
- GetFloatValue, restituisce il valore float della cella.
- OttieniIntValue, restituisce il valore intero della cella.
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; | |
} | |
} |