Maak docx met Mail merge in C++

Supersnelle C++ bibliotheek om Afdruk Mail merge uit te voeren voor docx sjablonen en gegevens uit aangepaste gegevensbron

Onze oplossing biedt een krachtige platformonafhankelijke API. Gebruik onze API voor het Mail merge van documenten om hoogwaardige software voor het C++ platform te ontwikkelen. Dit is een krachtige softwareoplossing voor het samenvoegen van sjablonen in Word en PDF formaten en gegevens uit aangepaste gegevensbronnen en het verder exporteren van het resultaat naar DOCX, PDF, HTML en andere populaire formaten met behulp van C++.

Codefragment bekijken

Mail merge Word bestand en Excel-gegevens in C++

Snelle C++ bibliotheek om Afdruk samenvoegen met Excel-gegevens uit te voeren.

Met onze Mail Merge SDK kunt u een Word sjabloon vullen met uw gegevens uit het Excel-blad. Op basis van onze Mail Merge API kunt u uw eigen softwareoplossing maken met behulp van C++, waarmee u e-mails vanuit Excel kunt automatiseren en rapporten kunt genereren met Excel-gegevens.

Om Afdruk Mail merge van Excel naar Word uit te voeren, voert u gewoon de bewerking Afdruk Mail merge uit in C++ en exporteert u het resultaat naar elk ondersteund Word formaat.

Afdruk Mail merge van Excel naar Word met behulp van C++

Met onze krachtige Afdruk Mail merge API kunt u gepersonaliseerde documenten maken in C++ met alleen een Word Merge-sjabloon en gegevens uit Excel.

Mail merge gebruiken vanuit Excel:

  • Maak een Word sjabloon met speciale samenvoegvelden waarin uw gegevens uit Excel worden ingevoegd.
  • Converteer een Excel-document naar een CSV bestand en vervolgens naar een JSON bestand dat geschikt is voor analyse door onze API.
  • Voer de bewerking van Mail uit door de Word sjabloon samen te voegen met gegevens die zijn geconverteerd van Excel naar CSV en vervolgens naar JSON.

Mail merge met Google Docs

Met onze high-fidelity Mail merge API kunt u ook een Mail merge -bewerking uitvoeren met Google Docs. Download gewoon de benodigde gegevens in Word en Excel-indeling, zorg ervoor dat de Word sjabloon samenvoegvelden bevat en voer de samenvoegbewerking in C++, vergelijkbaar met het algoritme beschreven in de vorige sectie.

Om deze krachtige webtool voor Mail merge te proberen, laadt u een Word sjabloon met speciale samenvoegvelden en gegevens uit Excel geconverteerd zoals hierboven beschreven. Na het uitvoeren van de code exporteert u het resultaat naar elk formaat met behulp van C++.

Het volgende voorbeeld laat zien hoe u een Mail merge uitvoert om een Word document te genereren in C++:

Voer een Mail merge uit met behulp van docx sjabloon in C++
Upload een Mail merge sjabloon
Voer code uit
Upload Mail merge
Selecteer het doelformaat uit de lijst
dotnet add package Aspose.Words.Cpp
Kopiëren
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;
};
Voer code uit

Mail merge gebruiken in docx bestanden

  1. Installeer Aspose.Words for C++.
  2. Voeg een bibliotheekreferentie toe (importeer de bibliotheek) aan uw C++ project.
  3. Maak een docx samenvoegsjabloon met samenvoegvelden.
  4. Open het sjabloonbestand in C++.
  5. Roep de methode Execute() aan en geef de samenvoegvelden en hun waarden daar door.
  6. Roep de Save() methode aan en geef een uitvoerbestandsnaam met de vereiste extensie door.
  7. Haal het resultaat van de Mail merge op als Word -bestand.

C++ bibliotheek om Mail merge te gebruiken in docx

Er zijn drie opties om Aspose.Words for C++ in uw ontwikkelomgeving te installeren. Kies er een die overeenkomt met uw behoeften en volg de stapsgewijze instructies:

systeem vereisten

U kunt deze C++-bibliotheek gebruiken om software te ontwikkelen op Microsoft Windows, Linux- en macOS-besturingssystemen:

  • GCC >= 6.3.0 en Clang >= 3.9.1 zijn vereist voor Linux
  • Xcode >= 12.5.1, Clang en libc++ zijn vereist voor macOS

Als u software voor Linux of macOS ontwikkelt, raadpleeg dan de informatie over aanvullende bibliotheekafhankelijkheden (fontconfig en mesa-glu open-sourcepakketten) in Productdocumentatie.

Andere ondersteunde bestandsindelingen

U kunt de bewerking Mail merge uitvoeren voor andere bestandsindelingen:

5%

Abonneer u op productupdates van Aspose

Ontvang maandelijkse nieuwsbrieven en aanbiedingen direct in je mailbox.

© Aspose Pty Ltd 2001-2024. Alle rechten voorbehouden.