Para um programador que está tentando atualizar arquivos XLSX no aplicativo C++, A API Aspose.Total for C++ pode ajudar a automatizar o processo de atualização. É um pacote completo de diferentes bibliotecas C++ que lidam com vários formatos, incluindo documentos do Microsoft Excel. A API Aspose.Cells for C++ que faz parte do pacote Aspose.Total for C++ facilita esse processo de modificação. O processo de atualização do documento XLSX é simples, primeiro acessando a planilha e depois atualizando o valor da célula no Excel usando C++.
Como atualizar o arquivo XLSX em C++
- Carregue o arquivo XLSX usando CreateIWorkbook
- Acesso de Worksheet relevante usando GetIWorksheets()->GetObjectByIndex(0) e célula relevante usando GetICells()->GetObjectByIndex
- Inserir novos dados na célula acessada usando o método PutValue
- Salve o arquivo como arquivo .xlsx usando o método Save passando o arquivo com caminho como parâmetro
Requisitos de Modificação
- Para modificação XLSX, seguindo requisitos de sistema para sistemas Windows e Linux
- Instale a partir da linha de comando como
nuget install Aspose.Total.Cpp
- Ou via Package Manager Console do Visual Studio com
Install-Package Aspose.Total.Cpp
- Como alternativa, obtenha o instalador MSI offline ou DLLs em um arquivo ZIP do Transferências
Código - Atualizar arquivo XLSX em 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); |