Voor een programmeur die XLS-bestanden binnen de C++-toepassing probeert bij te werken, Aspose.Total for C++ API kan helpen om het updateproces te automatiseren. Het is een volledig pakket van verschillende C++-bibliotheken die meerdere formaten aankunnen, waaronder Microsoft Excel-documenten. De Aspose.Cells for C++ API die deel uitmaakt van het Aspose.Total for C++ -pakket maakt dit wijzigingsproces eenvoudig. Het bijwerken van het XLS-document is eenvoudig door eerst het blad te openen en vervolgens de celwaarde in Excel bij te werken met C++.
Hoe XLS-bestand in C++ te updaten
- Laad het XLS-bestand met behulp van CreateIWorkbook
- Toegang tot relevante Worksheet met behulp van GetIWorksheets()->GetObjectByIndex(0) en relevante cel met behulp van GetICells()->GetObjectByIndex
- Voeg nieuwe gegevens in de geopende cel in met behulp van de PutValue-methode
- Sla het bestand op als .xls-bestand met behulp van de methode Opslaan door het bestand met het pad als parameter door te geven
Wijzigingsvereisten
- Voor XLS-modificatie, volgens systeem vereisten voor Windows- en Linux-systemen
- Installeer vanaf de opdrachtregel als
nuget install Aspose.Total.Cpp
- Of via Package Manager Console van Visual Studio met
Install-Package Aspose.Total.Cpp
- U kunt ook het offline MSI-installatieprogramma of DLL’s in een ZIP-bestand van Downloaden downloaden
Code - XLS-bestand bijwerken 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); |