Pour un programmeur qui essaie de mettre à jour des fichiers XLTM dans une application C++, L’API Aspose.Total for C++ peut aider à automatiser le processus de mise à jour. Il s’agit d’un ensemble complet de différentes bibliothèques C++ traitant plusieurs formats, y compris les documents Microsoft Excel. L’API Aspose.Cells for C++ qui fait partie du package Aspose.Total for C++ facilite ce processus de modification. Le processus de mise à jour du document XLTM est simple en accédant d’abord à la feuille, puis en mettant à jour la valeur de la cellule dans Excel à l’aide de C++.
Comment mettre à jour le fichier XLTM en C++
- Charger le fichier XLTM en utilisant CreateIWorkbook
- Accès au Worksheet pertinent à l’aide de GetIWorksheets()->GetObjectByIndex(0) et à la cellule pertinente à l’aide de GetICells()->GetObjectByIndex
- Insérer de nouvelles données dans la cellule consultée à l’aide de la méthode PutValue
- Enregistrez le fichier en tant que fichier .xltm à l’aide de la méthode Save en transmettant le fichier avec le chemin comme paramètre
Exigences de modification
- Pour la modification XLTM, suivre Configuration requise pour les systèmes Windows et Linux
- Installer à partir de la ligne de commande en tant que
nuget install Aspose.Total.Cpp
- Ou via Package Manager Console de Visual Studio avec
Install-Package Aspose.Total.Cpp
- Vous pouvez également obtenir le programme d’installation MSI hors ligne ou les DLL dans un fichier ZIP à partir de Téléchargements
Code - Mettre à jour le fichier XLTM en 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); |