Pro programátora, který se snaží aktualizovat soubory XLSX v aplikaci C++, Aspose.Total for C++ API může pomoci automatizovat proces aktualizace. Je to úplný balík různých knihoven C++, které se zabývají více formáty včetně dokumentů Microsoft Excel. Aspose.Cells for C++ API, které je součástí balíčku Aspose.Total for C++ , usnadňuje tento proces úpravy. Proces aktualizace dokumentu XLSX je jednoduchý tím, že nejprve otevřete list a poté aktualizujete hodnotu buňky v Excelu pomocí C++.
Jak aktualizovat soubor XLSX v C++
- Načtěte soubor XLSX pomocí CreateIWorkbook
- Přístup k příslušnému Worksheet pomocí GetIWorksheets()->GetObjectByIndex(0) a příslušné buňce pomocí GetICells()->GetObjectByIndex
- Pomocí metody PutValue vložte nová data do přístupné buňky
- Uložte soubor jako soubor .xlsx pomocí metody Save předáním souboru s cestou jako parametrem
Požadavky na úpravu
- Pro úpravu XLSX následuje Požadavky na systém pro systémy Windows a Linux
- Nainstalujte z příkazového řádku jako
nuget install Aspose.Total.Cpp
- Nebo prostřednictvím konzoly Správce balíčků sady Visual Studio s
Install-Package Aspose.Total.Cpp
- Případně získejte offline instalační program MSI nebo knihovny DLL v souboru ZIP z Stahování
Kód - Aktualizujte soubor XLSX v 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); |