Für einen Programmierer, der versucht, XLTM-Dateien in einer C++-Anwendung zu aktualisieren, Aspose.Total for C++ API kann helfen, den Aktualisierungsprozess zu automatisieren. Es ist ein vollständiges Paket verschiedener C++-Bibliotheken, die mehrere Formate verarbeiten, einschließlich Microsoft Excel-Dokumente. Die Aspose.Cells for C++ -API, die Teil des Aspose.Total for C++ -Pakets ist, vereinfacht diesen Änderungsprozess. Der Vorgang zum Aktualisieren des XLTM-Dokuments ist einfach, indem Sie zuerst auf das Blatt zugreifen und dann den Zellenwert in Excel mit C++ aktualisieren.
So aktualisieren Sie die XLTM-Datei in C++
- Laden Sie die XLTM-Datei mit CreateIWorkbook
- Zugriff auf relevantes Worksheet unter Verwendung von GetIWorksheets()->GetObjectByIndex(0) und relevanter Zelle unter Verwendung von GetICells()->GetObjectByIndex
- Fügen Sie mithilfe der PutValue-Methode neue Daten in die Zelle ein, auf die zugegriffen wurde
- Speichern Sie die Datei als .xltm-Datei mit der Save-Methode, indem Sie die Datei mit dem Pfad als Parameter übergeben
Änderungsanforderungen
- Für XLTM-Modifikation nach System Anforderungen für Windows- und Linux-Systeme
- Installieren Sie von der Befehlszeile als
nuget install Aspose.Total.Cpp
- Oder über die Package Manager Console von Visual Studio mit
Install-Package Aspose.Total.Cpp
- Holen Sie sich alternativ das Offline-MSI-Installationsprogramm oder DLLs in einer ZIP-Datei von Downloads
Code - XLTM-Datei in C++ aktualisieren
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); |