Zaktualizuj dokumenty programu Excel za pomocą C++

Modyfikuj pliki Microsoft Excel XLSX, XLS w aplikacjach opartych na C++ bez instalowania pakietu Microsoft Office®.

 

Organizacje często aktualizują swoje dane przechowywane w plikach programu Excel, takie jak dane uczniów, dane pacjentów i listy pozycji magazynowych itp. Za pośrednictwem oprogramowania firmowego. Aspose.Total for C++ API zapewnia funkcjonalność modyfikacji arkuszy kalkulacyjnych za pomocą oprogramowania. Programiści mogą wzbogacić oprogramowanie o możliwości modyfikacji, pisząc po prostu kilka linijek kodu API. Aspose.Cells for C++ API, które jest częścią pakietu Aspose.Total for C++ , ułatwia ten proces modyfikacji. Poniżej przedstawiono proces aktualizacji dokumentu Excel.

Zaktualizuj dokumenty programu Excel przy użyciu języka C++

Korzystając z interfejsu API Aspose.Cells for C++ , załaduj dokument źródłowy za pomocą CreateIWorkbook . Uzyskaj dostęp do Worksheet za pomocą GetIWorksheets()->GetObjectByIndex(0) i wymaganej komórki za pomocą GetICells()->GetObjectByIndex. Korzystając z metody PutValue, zmodyfikuj zawartość w otwieranej komórce. Na koniec wywołaj metodę save(), aby zapisać dokument.

Kod C++ — aktualizacja dokumentów programu Excel

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);