Skapa docx med Mail merge i C++

Höghastighets C++ bibliotek för att utföra Mail merge operation för docx mallar och data från anpassad datakälla

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++.

Visa kodavsnitt

Mail merge Word fil och Excel-data i 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.

Mail merge från Excel till Word med C++

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:

  • Skapa en Word mall med speciella sammanslagningsfält där dina data från Excel kommer att infogas.
  • Konvertera Excel-dokument till CSV fil och sedan till JSON fil lämplig för analys av vårt API.
  • Utför operationen med Mail som slår samman Word mallen och data som konverterats från Excel till CSV och sedan till JSON.

Mail merge med Google Dokument

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

Utför en Mail merge med hjälp av mallen docx i C++
Ladda upp en mall för koppling av Mail merge
Kör kod
Ladda Mail merge
Välj målformat från listan
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;
};
Kör kod

Så här använder du koppling av Mail merge i docx filer

  1. Installera Aspose.Words for C++.
  2. Lägg till en biblioteksreferens (importera biblioteket) till ditt C++ projekt.
  3. Skapa en docx sammanslagningsmall med sammanslagningsfält.
  4. Öppna mallfilen i C++.
  5. Anropa Execute() metoden, skicka sammanslagningsfälten och deras värden dit.
  6. Anropa Save() metoden och skicka ett utdatafilnamn med önskat tillägg.
  7. Få resultatet av Mail merge -operationen som Word -fil.

C++ bibliotek för att använda Mail merge i docx

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:

Systemkrav

Du kan använda detta C++ - bibliotek för att utveckla programvara på Microsoft Windows, Linux och macOS:

  • GCC >= 6.3.0 och Clang >= 3.9.1 krävs för Linux
  • Xcode >= 12.5.1, Clang och libc++ krävs för macOS

Om du utvecklar programvara för Linux eller macOS, kontrollera information om ytterligare bibliotekberoenden (fontconfig och mesa-glu open-source-paket) i produktdokumentation.

Andra filformat som stöds

Du kan utföra Mail merge operation för andra filformat:

5%

Prenumerera på Aspose produktuppdateringar

Få månatliga nyhetsbrev och erbjudanden direkt levererade till din brevlåda.

© Aspose Pty Ltd 2001-2024. Alla rättigheter förbehållna.