Đối với một lập trình viên đang cố cập nhật các tệp XLTM trong ứng dụng C++, Aspose.Total for C++ API có thể giúp tự động hóa quá trình cập nhật. Đó là một gói đầy đủ các thư viện C++ khác nhau xử lý nhiều định dạng bao gồm các tài liệu Microsoft Excel. API Aspose.Cells for C++ là một phần của gói Aspose.Total for C++ giúp quá trình sửa đổi này trở nên dễ dàng. Quá trình cập nhật tài liệu XLTM rất đơn giản bằng cách trước tiên truy cập trang tính và sau đó cập nhật giá trị ô trong excel bằng C++.
Cách cập nhật tệp XLTM trong C++
- Tải tệp XLTM bằng CreateIWorkbook
- Truy cập Worksheet có liên quan bằng GetIWorksheets()->GetObjectByIndex(0) và ô có liên quan bằng GetICells()->GetObjectByIndex
- Chèn dữ liệu mới vào ô đã truy cập bằng phương pháp PutValue
- Lưu tệp dưới dạng tệp .xltm bằng phương thức Lưu bằng cách chuyển tệp có đường dẫn làm tham số
Yêu cầu sửa đổi
- Để sửa đổi XLTM, hãy làm theo yêu cầu hệ thống cho các hệ thống Windows và Linux
- Cài đặt từ dòng lệnh dưới dạng
nuget install Aspose.Total.Cpp
- Hoặc qua Package Manager Console của Visual Studio với
Install-Package Aspose.Total.Cpp
- Ngoài ra, hãy tải trình cài đặt MSI ngoại tuyến hoặc tệp DLL trong tệp ZIP từ Tải xuống
Mã - Cập nhật tệp XLTM trong 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); |