Для программиста, который пытается обновить файлы 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, используя метод «Сохранить», передав файл с путем в качестве параметра.
Требования к модификации
- Для модификации XLSX следуйте Системные Требования для систем Windows и Linux.
- Установите из командной строки как
nuget install Aspose.Total.Cpp
- Или через консоль диспетчера пакетов 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); |