Vytvorte docx pomocou Mail merge v C++

Vysokorýchlostná knižnica C++ na spustenie operácie Mail merge pre šablóny a údaje docx z vlastného zdroja údajov

Naše riešenie poskytuje výkonné API nezávislé na platforme. Použite naše API dokumentov Mail merge na vývoj softvéru na vysokej úrovni pre platformu C++. Ide o výkonné softvérové riešenie na zlučovanie šablón vo Word formátoch a PDF a údajov z vlastných zdrojov údajov a na ďalší export výsledku do DOCX, PDF, HTML a iných populárnych formátov pomocou C++.

Zobraziť útržok kódu

Mail merge Word súbor a údaje Excel v C++

Rýchla knižnica C++ na spustenie hromadnej korešpondencie s údajmi programu Excel.

Naša Mail Merge SDK vám umožňuje vyplniť šablónu programu Word vašimi údajmi z hárku programu Excel. Na základe nášho Mail Merge API si môžete vytvoriť svoje vlastné softvérové riešenie pomocou C++, ktoré vám umožní automatizovať e-maily z Excel a vytvárať zostavy s údajmi z Excel.

Ak chcete Mail merge z Excel do Word, jednoducho vykonajte operáciu Mail merge v C++ a exportujte výsledok do všetkých podporovaných Word formátovu.

Mail merge z Excel do Word pomocou C++

Pomocou nášho výkonného Mail merge API môžete vytvárať prispôsobené dokumenty v C++ iba pomocou šablóny Word Merge a údajov z Excel.

Ako používať Mail merge z Excel:

  • Vytvorte si Word šablónu so špeciálnymi zlučovacími poľami, do ktorých sa vložia vaše dáta z Excel.
  • Preveďte Excel dokument do súboru CSV a potom do JSON súboru vhodného na analýzu pomocou nášho API.
  • Vykonajte operáciu hromadného zlúčenia šablóny Word a údajov skonvertovaných z Excel do CSV a potom do JSON.

Mail merge s Dokumentmi Google

Pomocou nášho vysokokvalitného Mail merge API môžete vykonať operáciu Mail merge aj pomocou služby Dokumenty Google. Stačí si stiahnuť potrebné údaje vo Word formáte a Excel, uistite sa, že šablóna Word obsahuje zlučovacie polia a vykonajte operáciu Hromadná korešpondencia v C++, podobne ako algoritmus opísaný v predchádzajúcej časti.

Ak chcete vyskúšať tento výkonný webový nástroj Mail merge, načítajte šablónu programu Word so špeciálnymi zlučovacími poľami a údajmi z Excel skonvertovanými podľa vyššie uvedeného popisu. Po spustení kódu exportujte výsledok do ľubovoľného formátu pomocou C++.

Nasledujúci príklad ukazuje, ako vykonať operáciu Mail merge na vygenerovanie dokumentu programu Word v C++:

Vykonajte operáciu Mail merge pomocou šablóny docx v C++
Nahrajte šablónu Mail merge
Spustiť kód
Nahrajte údaje Mail merge
Vyberte cieľový formát zo zoznamu
dotnet add package Aspose.Words.Cpp
Kopírovať
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;
};
Spustiť kód

Ako používať Mail merge v docx súboroch

  1. Nainštalujte Aspose.Words for C++.
  2. Pridajte odkaz na knižnicu (importujte knižnicu) do svojho C++ projektu.
  3. Vytvorte šablónu zlúčenia docx so zlučovacími poľami.
  4. Otvorte súbor šablóny v C++.
  5. Zavolajte metódu Execute() a odovzdajte tam zlučovacie polia a ich hodnoty.
  6. Zavolajte metódu Save() a odovzdajte výstupný názov súboru s požadovanou príponou.
  7. Získajte výsledok operácie Mail merge ako Word súbor.

Knižnica C++ na použitie Mail merge v docx

Existujú tri možnosti inštalácie Aspose.Words for C++ do vášho vývojárskeho prostredia. Vyberte si ten, ktorý zodpovedá vašim potrebám, a postupujte podľa pokynov krok za krokom:

Požiadavky na systém

Túto knižnicu C++ môžete použiť na vývoj softvéru v Microsoft Windows, Linux a macOS:

  • Pre Linux sú požadované GCC >= 6.3.0 a Clang >= 3.9.1
  • Pre macOS je potrebný Xcode >= 12.5.1, Clang a libc++

Ak vyvíjate softvér pre Linux alebo macOS, skontrolujte informácie o ďalších závislostiach knižnice (fontconfig a mesa-glu ) v dokumentácii k produktu.

Ďalšie podporované formáty súborov

Operáciu Mail merge môžete vykonať pre iné formáty súborov:

5%

Prihláste sa na odber aktualizácií produktov Aspose

Získajte mesačné bulletiny a ponuky priamo do vašej poštovej schránky.

© Aspose Pty Ltd 2001-2024. Všetky práva vyhradené.