Crea docx utilizzando Mail merge in C++

Libreria C++ ad alta velocità per eseguire operazioni di Mail merge per docx modelli e dati da un'origine dati personalizzata

La nostra soluzione fornisce una potente API indipendente dalla piattaforma. Usa la nostra API per documenti di stampa Mail merge per sviluppare software di alto livello per la piattaforma C++. Si tratta di una potente soluzione software per unire modelli in Word formato e PDF e dati da origini dati personalizzate e per esportare ulteriormente il risultato in DOCX, PDF, HTML e altri formati popolari utilizzando C++.

Visualizza lo snippet di codice

Mail merge File Word e Excel dati in C++

C++ veloce per eseguire la stampa unione con i dati di Excel.

Il nostro Mail Merge SDK ti consente di popolare un modello Word con i tuoi dati dal Excel foglio. Sulla base della nostra Mail Merge API, puoi creare la tua soluzione software utilizzando C++, che ti consente di automatizzare le e-mail da Excel e generare report con i dati di Excel.

Per eseguire la stampa Mail merge da Excel a Word, è sufficiente eseguire l'operazione di stampa Mail merge in C++ ed esportare il risultato in qualsiasi Word formato supportato.

Mail merge da Excel a Word utilizzando C++

Con la nostra potente Mail merge API, puoi creare documenti personalizzati in C++ utilizzando solo un modello di unione di parole e dati da Excel.

Come utilizzare la Mail merge da Excel:

  • Crea un modello Word con speciali campi di unione in cui verranno inseriti i tuoi dati da Excel.
  • Converti il Excel documento in file CSV e quindi in JSON file adatto per l'analisi da parte della nostra API.
  • Eseguire l'operazione di Mail unendo il template Word e i dati convertiti da Excel a CSV e poi a JSON.

Mail merge con Google Documenti

Con la nostra Mail merge API ad alta fedeltà, puoi anche eseguire un'operazione di Mail merge con Google Documenti. Basta scaricare i dati necessari in Word formato ed Excel, assicurarsi che il template Word contenga campi di unione ed eseguire l'operazione di stampa unione in C++, simile all'algoritmo descritto nella sezione precedente.

Per provare questo potente strumento Web di Mail merge, caricare un modello di Word con campi di unione speciali e dati da Excel convertiti come descritto sopra. Dopo aver eseguito il codice, esporta il risultato in qualsiasi formato utilizzando C++.

L'esempio seguente mostra come eseguire un'operazione di stampa Mail merge per generare un Word documento in C++:

Esegui un'operazione di Mail merge utilizzando il modello docx in C++
Carica un modello di Mail merge
Esegui codice
Carica i dati Mail merge
Seleziona il formato di destinazione dall'elenco
dotnet add package Aspose.Words.Cpp
Copia
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;
};
Esegui codice

Come utilizzare la Mail merge in docx file

  1. Installa Aspose.Words for C++.
  2. Aggiungi un riferimento alla libreria (importa la libreria) al tuo progetto C++.
  3. Crea un modello di unione docx con campi di unione.
  4. Apri il file modello in C++.
  5. Chiama il metodo Execute(), passando lì i campi di unione e i loro valori.
  6. Chiama il metodo Save(), passando un nome file di output con l'estensione richiesta.
  7. Ottieni il risultato dell'operazione di Mail merge come Word file.

C++ libreria per utilizzare la Mail merge in docx

Ci sono tre opzioni per installare Aspose.Words for C++ nel tuo ambiente di sviluppo. Scegline uno che corrisponda alle tue esigenze e segui le istruzioni passo passo:

Requisiti di sistema

Puoi utilizzare questa libreria C++ per sviluppare software su Microsoft Windows, Linux e macOS:

  • GCC >= 6.3.0 e Clang >= 3.9.1 sono necessari per Linux
  • Xcode >= 12.5.1, Clang e libc++ sono necessari per macOS

Se sviluppi software per Linux o macOS, controlla le informazioni sulle dipendenze aggiuntive della libreria (fontconfig open source fontconfig e mesa-glu) nella documentazione del prodotto.

Altri formati di file supportati

Puoi eseguire l'operazione di Mail merge per altri formati di file:

5%

Iscriviti agli aggiornamenti del prodotto Aspose

Ricevi newsletter mensili e offerte direttamente nella tua casella di posta.

© Aspose Pty Ltd 2001-2024. Tutti i diritti riservati.