Наше рішення забезпечує потужний незалежний від платформи 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 Merge та дані з Excel.
Як використовувати Mail merge з Excel:
За допомогою нашого високоточного Mail merge API ви також можете виконувати операцію Mail merge з Документами Google. Просто завантажте необхідні дані у 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 для інших форматів файлів: