Luo docx Mail merge C++

Nopea C++ kirjasto, joka suorittaa Mail merge docx mallille ja datalle mukautetusta tietolähteestä

Ratkaisumme tarjoaa tehokkaan alustariippumattoman API:n. Käytä Mail merge - API korkean tason ohjelmistojen kehittämiseen C++ alustalle. Tämä on tehokas ohjelmistoratkaisu Word ja PDF muotoisten mallien ja mukautettujen tietolähteiden tietojen yhdistämiseen ja tulosten edelleen viemiseen DOCX, PDF, HTML ja muihin suosittuihin muotoihin C++:lla.

Katso koodinpätkä

Yhdistä Word tiedosto ja Excel-tiedot tiedostossa C++ Mail merge

Nopea C++ kirjasto sähköpostin yhdistämiseen Excel-tietojen kanssa.

Mail Merge SDK:n avulla voit täyttää Word mallin Excel-taulukon tiedoillasi. Mail Merge API perustuen voit luoda oman ohjelmistoratkaisusi C++, jonka avulla voit automatisoida sähköpostit Excelistä ja luoda raportteja Excel-tiedoista.

Yhdistäksesi Excelistä Wordiin, suorita Mail merge C++ Mail merge vie tulos mihin tahansa tuettuun Word muotoon.

Yhdistä Excelistä Wordiin C++ Mail merge

Tehokkaan Mail merge API voit luoda henkilökohtaisia asiakirjoja C++ käyttämällä vain Word Merge -mallia ja Excelin tietoja.

Mail merge käyttäminen Excelistä:

  • Luo Word malli erityisillä yhdistämiskentillä, joihin Excel-tietosi lisätään.
  • Muunna Excel-asiakirja CSV tiedostoksi ja sitten JSON tiedostoksi, joka soveltuu sovellusliittymämme jäsentämiseen.
  • Suorita Mail-toiminto yhdistämällä Word malli ja Excelistä CSV muotoon ja sitten JSON muotoon muunnetut tiedot.

Mail merge Google-dokumenttien kanssa

Korkealaatuisen Mail merge API voit myös suorittaa Mail merge Google-dokumenttien kanssa. Lataa vain tarvittavat tiedot Word ja Excel-muodossa, varmista, että Word malli sisältää yhdistämiskentät ja suorita yhdistämistoiminto C++ edellisessä osiossa kuvatun algoritmin tapaan.

Kokeile tätä tehokasta Mail merge lataamalla Word malli, jossa on erityiset yhdistämiskentät ja tiedot Excelistä, jotka on muunnettu yllä kuvatulla tavalla. Kun olet suorittanut koodin, vie tulos mihin tahansa muotoon käyttämällä C++.

Seuraava esimerkki näyttää, kuinka voit suorittaa Mail merge Word asiakirjan C++:

Suorita Mail merge käyttämällä docx mallia kohteessa C++
Lataa Mail merge
Suorita koodi
Lataa Mail merge
Valitse kohdemuoto luettelosta
dotnet add package Aspose.Words.Cpp
Kopio
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;
};
Suorita koodi

Mail merge käyttäminen docx tiedostossa

  1. Asenna Aspose.Words for C++.
  2. Lisää kirjastoviite (tuo kirjasto) C++ projektiisi.
  3. Luo docx yhdistämismalli, jossa on yhdistämiskentät.
  4. Avaa mallitiedosto kohteessa C++.
  5. Kutsu Execute() menetelmä ja välitä yhdistämiskentät ja niiden arvot sinne.
  6. Kutsu Save() menetelmä ja välitä tulostiedostonimi vaaditulla tunnisteella.
  7. Hae Mail merge tulos Word -tiedostona.

Kirjasto C++, jotta voit käyttää Mail merge kohteessa docx

Aspose.Words for C++ asentamiseen kehittäjäympäristöösi on kolme vaihtoehtoa. Valitse tarpeitasi vastaava ja seuraa vaiheittaisia ohjeita:

Laitteistovaatimukset

Tämän C++ -kirjaston avulla voit kehittää ohjelmistoja Microsoft Windows, Linux- ja macOS -käyttöjärjestelmiin:

  • GCC >= 6.3.0 ja Clang >= 3.9.1 vaaditaan Linuxille
  • Xcode >= 12.5.1, Clang ja libc++ vaaditaan macOS: lle

Jos kehität ohjelmistoa Linuxille tai macOS: lle, tarkista lisätietojen kirjaston riippuvuuksista (fontconfig ja mesa-glu -paketit) Product Documentationista.

Muut tuetut tiedostomuodot

Voit suorittaa Mail merge muille tiedostomuodoille:

5%

Tilaa Aspose tuotepäivitykset

Saat kuukausittaiset uutiskirjeet ja tarjoukset suoraan postilaatikkoosi.

© Aspose Pty Ltd 2001-2024. Kaikki oikeudet pidätetään.