Vår lösning ger ett kraftfullt plattformsoberoende API. Använd vårt Mail merge Document API för att utveckla programvara på hög nivå för C++ plattformen. Detta är en kraftfull mjukvarulösning för att slå samman mallar i Word och PDF format och data från anpassade datakällor och ytterligare exportera resultatet till DOCX, PDF, HTML och andra populära format med C++.
Snabbt C++ bibliotek för att utföra Mail Merge med Excel-data.
Vår Mail Merge SDK låter dig fylla i en Word mall med dina data från Excel-ark. Baserat på vårt Mail Merge API kan du skapa din egen mjukvarulösning med C++, som låter dig automatisera e-postmeddelanden från Excel och generera rapporter med Excel-data.
För att Mail merge från Excel till Word, utför helt enkelt sammanfogningen av Mail merge i C++ och exportera resultatet till alla Word format som stöds.
Med vårt kraftfulla Mail merge API kan du skapa personliga dokument i C++ med bara en Word Merge-mall och data från Excel.
Så här använder Mail merge från Excel:
Med vårt high-fidelity Mail merge API kan du också utföra en Mail merge -operation med Google Dokument. Ladda bara ner nödvändiga data i Word och Excel-format, se till att Word mallen innehåller sammanfogningsfält och utför sammankopplingsoperationen i C++, liknande algoritmen som beskrivs i föregående avsnitt.
För att prova detta kraftfulla webbverktyg för Mail merge, ladda en Word mall med speciella sammanslagningsfält och data från Excel konverterade enligt beskrivningen ovan. När du har kört koden exporterar du resultatet till valfritt format med C++.
Följande exempel visar hur man utför en kopplingsoperation för att skapa ett Word dokument i C++ Mail merge
dotnet add package Aspose.Words.Cpp
Kopiera
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;
};
Det finns tre alternativ för att installera Aspose.Words for C++ i din utvecklarmiljö. Välj en som liknar dina behov och följ steg-för-steg-instruktionerna:
Du kan använda detta C++ - bibliotek för att utveckla programvara på Microsoft Windows, Linux och macOS:
Om du utvecklar programvara för Linux eller macOS, kontrollera information om ytterligare bibliotekberoenden (fontconfig och mesa-glu open-source-paket) i produktdokumentation.
Du kan utföra Mail merge operation för andra filformat: