راه حل ما یک API مستقل از پلت فرم قدرتمند ارائه می دهد. از API سند Mail merge ما برای توسعه نرم افزار سطح بالا برای پلتفرم C++ استفاده کنید. این یک راه حل نرم افزاری قدرتمند برای ادغام قالب ها در قالب های Word و PDF و داده ها از منابع داده سفارشی و صدور بیشتر نتیجه به DOCX, PDF, HTML و سایر فرمت های محبوب با استفاده از C++ است.
کتابخانه سریع C++ برای ادغام Mail با داده های Excel.
Mail Merge SDK به شما امکان می دهد یک الگوی Word را با داده های خود از برگه اکسل پر کنید. بر اساس Mail Merge API ما، میتوانید راهحل نرمافزاری خود را با استفاده از C++ ایجاد کنید، که به شما امکان میدهد ایمیلهای اکسل را خودکار کنید و با دادههای اکسل گزارش تولید کنید.
برای Mail merge از Excel به Word، به سادگی عملیات Mail merge را در C++ و نتیجه را به هر فرمت Word پشتیبانی شده صادر کنید.
با Mail merge API قدرتمند ما، می توانید اسناد شخصی سازی شده را در C++ فقط با استفاده از یک الگوی Word Merge و داده های Excel ایجاد کنید.
نحوه استفاده از Mail merge از Excel:
با Mail merge API با وفاداری بالا، میتوانید عملیات Mail merge را با Google Docs نیز انجام دهید. فقط داده های لازم را با فرمت ورد و اکسل دانلود کنید، مطمئن شوید که قالب Word حاوی فیلدهای ادغام است و عملیات ادغام Mail را در C++ مشابه الگوریتم توضیح داده شده در قسمت قبل انجام دهید.
برای امتحان این ابزار قدرتمند وب Mail merge، یک الگوی Word را با فیلدهای ادغام ویژه و دادههای اکسل که همانطور که در بالا توضیح داده شد، بارگذاری کنید. پس از اجرای کد، نتیجه را با استفاده از C++ به هر فرمتی صادر کنید.
مثال زیر نشان می دهد که چگونه می توان عملیات Mail merge را برای تولید یک سند Word در C++:
dotnet add package Aspose.Words.Cpp
کپی 🀄
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;
};
سه گزینه برای نصب Aspose.Words for C++ در محیط توسعه دهنده شما وجود دارد. لطفاً یکی را انتخاب کنید که شبیه نیازهای شما باشد و دستورالعمل های گام به گام را دنبال کنید:
می توانید از این کتابخانه C++ برای توسعه نرم افزار روی Microsoft Windows، Linux و macOS استفاده کنید:
در صورت توسعه نرم افزار برای لینوکس یا macOS، لطفاً اطلاعات مربوط به وابستگی های بیشتر کتابخانه (fontconfig و بسته های منبع باز mesa-glu) را در Documentation Product بررسی کنید.
می توانید عملیات Mail merge را برای سایر فرمت های فایل انجام دهید: