Naše řešení poskytuje výkonné API nezávislé na platformě. Použijte naše API pro dokumenty Mail merge k vývoji softwaru na vysoké úrovni pro platformu C++. Jedná se o výkonné softwarové řešení pro slučování šablon ve Word formátech a PDF a dat z vlastních zdrojů dat a další export výsledku do DOCX, PDF, HTML a dalších oblíbených formátů pomocí C++.
Rychlá knihovna C++ pro spouštění hromadné korespondence s daty aplikace Excel.
Naše Mail Merge SDK vám umožňuje naplnit šablonu aplikace Word vašimi daty z listu aplikace Excel. Na základě našeho Mail Merge API si můžete vytvořit vlastní softwarové řešení pomocí C++, které vám umožní automatizovat e-maily z Excelu a generovat sestavy s excelovými daty.
Chcete-li Mail merge z Excelu do Wordu, jednoduše proveďte operaci Mail merge v C++ a exportujte výsledek do všech podporovaných formátů aplikace Word.
S naším výkonným Mail merge API můžete vytvářet personalizované dokumenty v C++ pouze pomocí šablony Word Merge a dat z Excelu.
Jak používat Mail merge z Excelu:
S naším vysoce věrným Mail merge API můžete také provádět operace Mail merge s Dokumenty Google. Stačí si stáhnout potřebná data ve Word formátu a Excel, ujistěte se, že šablona Wordu obsahuje slučovací pole a proveďte operaci hromadné korespondence v C++, podobnou algoritmu popsanému v předchozí části.
Chcete-li vyzkoušet tento výkonný webový nástroj Mail merge, načtěte šablonu aplikace Word se speciálními slučovacími poli a daty z Excelu převedenými výše popsaným způsobem. Po spuštění kódu exportujte výsledek do libovolného formátu pomocí C++.
Následující příklad ukazuje, jak provést operaci Mail merge za účelem vygenerování dokumentu aplikace Word v C++:
dotnet add package Aspose.Words.Cpp
Kopírovat
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;
};
Existují tři možnosti instalace Aspose.Words for C++ do vašeho vývojářského prostředí. Vyberte si prosím ten, který odpovídá vašim potřebám, a postupujte podle pokynů krok za krokem:
Tuto knihovnu C++ můžete použít k vývoji softwaru v Microsoft Windows, Linux a macOS:
Pokud vyvíjíte software pro Linux nebo macOS, zkontrolujte informace o dalších závislostech knihovny (fontconfig a mesa-glu ) v dokumentaci produktu.
Operaci Mail merge můžete provést pro jiné formáty souborů: