הפתרון שלנו מספק API תלוי בפלטפורמה. השתמש API של מסמכי Mail merge כדי לפתח תוכנה ברמה גבוהה עבור פלטפורמת C++. זהו פתרון תוכנה רב עוצמה למיזוג תבניות בפורמטים של Word ו- PDF ונתונים ממקורות נתונים מותאמים אישית וייצוא נוסף של התוצאה ל- DOCX, PDF, HTML ופורמטים פופולריים אחרים באמצעות C++.
ספריית C++ מהירה לביצוע מיזוג דואר עם נתוני Excel.
Mail Merge SDK מאפשר לך לאכלס תבנית Word עם הנתונים שלך מגיליון Excel. בהתבסס על Mail Merge API שלנו, אתה יכול ליצור פתרון תוכנה משלך באמצעות C++, המאפשר לך להפוך מיילים מ-Excel לאוטומטיים ולהפיק דוחות עם נתוני Excel.
כדי Mail merge מ-Excel ל Word, פשוט בצע את פעולת Mail merge ב- C++ וייצא את התוצאה לכל פורמט Word נתמך.
עם Mail merge API, אתה יכול ליצור מסמכים מותאמים אישית ב- C++ באמצעות תבנית מיזוג Word בלבד ונתונים מ-Excel.
כיצד להשתמש Mail merge מ- Excel:
עם Mail merge API בנאמנות גבוהה, תוכל גם לבצע פעולת Mail merge עם Google Docs. פשוט הורד את הנתונים הדרושים בפורמט Word ו-Excel, ודא שתבנית Word מכילה שדות מיזוג ובצע את פעולת מיזוג הדואר ב- C++, בדומה לאלגוריתם המתואר בסעיף הקודם.
כדי לנסות את כלי האינטרנט החזק הזה Mail merge, טען תבנית Word עם שדות מיזוג מיוחדים ונתונים מ-Excel שהומרו כמתואר לעיל. לאחר הפעלת הקוד, ייצא את התוצאה לכל פורמט באמצעות 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:
אם אתה מפתח תוכנה עבור Linux או macOS, בדוק מידע על תלות בספריות נוספות (חבילות קוד פתוח של fontconfig ו- mesa-glu) בתיעוד המוצר.
אתה יכול לבצע פעולת Mail merge עבור פורמטים אחרים של קבצים: