Мощный, независимый от платформы Mail Merge API. Используйте Mail Merge API для разработки высокоуровневого ПО для платформы 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 для других файловых форматов: