Giải pháp của chúng tôi cung cấp một API độc lập với nền tảng mạnh mẽ. Sử dụng API tài liệu Mail merge của chúng tôi để phát triển phần mềm cấp cao cho nền tảng C++. Đây là một giải pháp phần mềm mạnh mẽ để hợp nhất các mẫu ở Word định dạng và PDF và dữ liệu từ các nguồn dữ liệu tùy chỉnh và tiếp tục xuất kết quả sang DOCX, PDF, HTML và các định dạng phổ biến khác bằng C++.
Thư viện C++ nhanh chóng để thực hiện hợp nhất Thư với dữ liệu Excel.
Mail Merge SDK của chúng tôi cho phép bạn điền mẫu Word bằng dữ liệu của bạn từ Excel trang tính. Dựa trên Mail Merge API của chúng tôi, bạn có thể tạo giải pháp phần mềm của riêng mình bằng cách sử dụng C++, cho phép bạn tự động hóa email từ Excel và tạo báo cáo bằng dữ liệu Excel.
Để phối Mail merge từ Excel sang Word, chỉ cần thực hiện thao tác phối Mail merge trong C++ và xuất kết quả sang bất kỳ Word định dạng được hỗ trợ nào.
Với Mail merge API mạnh mẽ của chúng tôi, bạn có thể tạo tài liệu được cá nhân hóa trong C++ chỉ bằng mẫu Hợp nhất từ và dữ liệu từ Excel.
Cách sử dụng Mail merge từ Excel:
Với Mail merge API có độ chính xác cao của chúng tôi, bạn cũng có thể thực hiện thao tác Mail merge với Google Tài liệu. Chỉ cần tải xuống dữ liệu cần thiết ở Word định dạng và Excel, đảm bảo rằng mẫu Word chứa các trường hợp nhất và thực hiện thao tác hợp nhất Thư trong C++, tương tự như thuật toán được mô tả trong phần trước.
Để dùng thử công cụ web phối Mail merge mạnh mẽ này, hãy tải một mẫu Word với các trường phối đặc biệt và dữ liệu từ Excel được chuyển đổi như mô tả ở trên. Sau khi chạy mã, hãy xuất kết quả sang bất kỳ định dạng nào bằng cách sử dụng C++.
Ví dụ sau đây cho biết cách thực hiện thao tác Mail merge để tạo Word tài liệu trong C++:
dotnet add package Aspose.Words.Cpp
Sao chép
using namespace Aspose::Words;
using namespace Aspose::Cells;
auto doc = MakeObject<Document>(u"Input1.docx");
auto workbook = Factory::CreateIWorkbook(new String("Input2.xlsx"));
auto worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
auto dataRange = worksheet->GetICells()->GetMaxDisplayIRange();
auto dataTable = worksheet->GetICells()->ExportArray(
0, 0, dataRange->GetRowCount(), dataRange->GetColumnCount());
auto customersDataSource = MakeObject<BaseOperations::CustomerMailMergeDataSource>(dataTable);
doc->get_MailMerge()->Execute(customersDataSource);
doc->Save(u"Output.docx");
class ExcelDataSource : public IMailMergeDataSource
{
public:
System::String convertCellsString(String cellsValue)
{
auto valCh = cellsValue.charValue();
auto convertedString = System::String(valCh);
String::deleteCharValue(valCh);
return convertedString;
}
System::String get_TableName() override
{
return nullptr;
}
CustomerMailMergeDataSource(
intrusive_ptr<Aspose::Cells::Systems::Array2D<Aspose::Cells::Systems::Object*>> data)
{
dataIn = data;
for (int i = 0; i < data->At(0)->GetLength(); i++) {
auto fieldName = data->GetValue(0, i)->ToString();
m.insert({ convertCellsString(fieldName), i });
i++;
}
mRecordIndex = 0;
}
bool GetValue(System::String fieldName, SharedPtr<System::Object>& fieldValue) override
{
auto value = dataIn->GetValue(mRecordIndex, m.at(fieldName))->ToString();
if (value == new String(""))
return false;
fieldValue = System::ObjectExt::Box<System::String>(convertCellsString(value));
return true;
}
bool MoveNext() override
{
mRecordIndex++;
return mRecordIndex < dataIn->GetLength();
}
SharedPtr<IMailMergeDataSource> GetChildDataSource(System::String tableName) override
{
return nullptr;
}
intrusive_ptr<Aspose::Cells::Systems::Array2D<Aspose::Cells::Systems::Object*>> dataIn;
std::unordered_map<System::String, int> m;
int mRecordIndex;
};
Có ba tùy chọn để cài đặt Aspose.Words for C++ vào môi trường nhà phát triển của bạn. Vui lòng chọn một cái giống với nhu cầu của bạn và làm theo hướng dẫn từng bước:
Bạn có thể sử dụng thư viện C++ này để phát triển phần mềm trên Microsoft Windows, Linux và macOS:
Nếu bạn phát triển phần mềm cho Linux hoặc macOS, vui lòng kiểm tra thông tin về các phụ thuộc thư viện bổ sung (gói mã nguồn mở fontconfig và mesa-glu) trong Tài liệu Sản phẩm.
Bạn có thể thực hiện thao tác Mail merge cho các định dạng tệp khác: