Για έναν προγραμματιστή, ο οποίος προσπαθεί να ενημερώσει αρχεία XLSX εντός της εφαρμογής C++, Το Aspose.Total for C++ API μπορεί να βοηθήσει στην αυτοματοποίηση της διαδικασίας ενημέρωσης. Είναι ένα πλήρες πακέτο διαφορετικών βιβλιοθηκών C++ που ασχολούνται με πολλαπλές μορφές, συμπεριλαμβανομένων των εγγράφων του Microsoft Excel. Το Aspose.Cells for C++ API που αποτελεί μέρος του πακέτου Aspose.Total for C++ κάνει αυτή τη διαδικασία τροποποίησης εύκολη. Η διαδικασία ενημέρωσης του εγγράφου XLSX είναι απλή αφού πρώτα αποκτήσετε πρόσβαση στο φύλλο και στη συνέχεια ενημερώστε την τιμή του κελιού στο excel χρησιμοποιώντας C++.
Πώς να ενημερώσετε το αρχείο XLSX σε C++
- Φορτώστε το αρχείο XLSX χρησιμοποιώντας το CreateIWorkbook
- Πρόσβαση σε σχετικό Worksheet χρησιμοποιώντας GetIWorksheets()->GetObjectByIndex(0) και σχετικό κελί χρησιμοποιώντας GetICells()->GetObjectByIndex
- Εισαγάγετε νέα δεδομένα στο κελί στο οποίο έχετε πρόσβαση χρησιμοποιώντας τη μέθοδο PutValue
- Αποθηκεύστε το αρχείο ως αρχείο .xlsx χρησιμοποιώντας τη μέθοδο Save περνώντας το αρχείο με τη διαδρομή ως παράμετρο
Απαιτήσεις Τροποποίησης
- Για τροποποίηση XLSX, ακολουθώντας το Απαιτήσεις συστήματος για συστήματα Windows και Linux
- Εγκατάσταση από τη γραμμή εντολών ως
nuget install Aspose.Total.Cpp
- Ή μέσω της κονσόλας Package Manager του Visual Studio με
Install-Package Aspose.Total.Cpp
- Εναλλακτικά, αποκτήστε το πρόγραμμα εγκατάστασης MSI εκτός σύνδεσης ή τα DLL σε ένα αρχείο ZIP από το Λήψεις
Κώδικας - Ενημερώστε το αρχείο XLSX σε 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); |