Per un programmatore, che sta tentando di aggiornare i file XLSX all’interno dell’applicazione C++, L’API Aspose.Total for C++ può aiutare ad automatizzare il processo di aggiornamento. È un pacchetto completo di diverse librerie C++ che gestiscono più formati, inclusi i documenti di Microsoft Excel. L’API Aspose.Cells for C++ che fa parte del pacchetto Aspose.Total for C++ semplifica questo processo di modifica. Il processo di aggiornamento del documento XLSX è semplice accedendo prima al foglio e quindi aggiornando il valore della cella in Excel utilizzando C++.
Come aggiornare il file XLSX in C++
- Carica il file XLSX usando CreateIWorkbook
- Accesso al Worksheet pertinente utilizzando GetIWorksheets()->GetObjectByIndex(0) e alla cella pertinente utilizzando GetICells()->GetObjectByIndex
- Inserisci nuovi dati nella cella a cui si accede utilizzando il metodo PutValue
- Salvare il file come file .xlsx utilizzando il metodo Save passando il file con il percorso come parametro
Requisiti di modifica
- Per la modifica XLSX, seguendo requisiti di sistema per sistemi Windows e Linux
- Installa dalla riga di comando come
nuget install Aspose.Total.Cpp
- Oppure tramite Package Manager Console di Visual Studio con
Install-Package Aspose.Total.Cpp
- In alternativa, scarica il programma di installazione MSI offline o le DLL in un file ZIP da Download
Codice - Aggiorna il file XLSX in C++
StringPtr dirPath = new String("..\\Data\\sourcePath\\"); | |
StringPtr outPath = new String("..\\Data\\OutputPath\\"); | |
StringPtr srcCSV = dirPath->StringAppend(new String(L"srcFile.csv")); | |
StringPtr updatedCSV = outPath->StringAppend(new String(L"outReadWriteCSV.csv")); | |
intrusive_ptr<IWorkbook> wb = Factory::CreateIWorkbook(srcCSV); | |
intrusive_ptr<IWorksheet> ws = wb->GetIWorksheets()->GetObjectByIndex(0); | |
intrusive_ptr<ICell> cell = ws->GetICells()->GetObjectByIndex(new String("A1")); | |
StringPtr strVal = cell->GetStringValue(); | |
StringPtr cellValue = new String("Cell Value: "); | |
Console::WriteLine(cellValue->StringAppend(strVal)); | |
cell = ws->GetICells()->GetObjectByIndex(new String("C4")); | |
intrusive_ptr<String> strValPtr = new String(strVal); | |
cell->PutValue(strValPtr); | |
wb->Save(updatedCSV, SaveFormat_CSV); |