Créer docx en utilisant Mail merge dans C++

Bibliothèque C++ haute vitesse pour exécuter une opération de Mail merge et publipostage pour docx modèles et données à partir d'une source de données personnalisée

Notre solution fournit une puissante API indépendante de la plate-forme. Utilisez notre API de document de Mail merge et publipostage pour développer un logiciel de haut niveau pour la plate-forme C++. Il s'agit d'une solution logicielle puissante pour fusionner des modèles aux Word formats et PDF et des données provenant de sources de données personnalisées et exporter davantage le résultat vers DOCX, PDF, HTML et d'autres formats populaires à l'aide de C++.

Afficher l'extrait de code

Mail merge Word fichier et données Excel dans C++

C++ rapide pour exécuter le publipostage avec des données Excel.

Notre Mail Merge SDK vous permet de remplir un modèle Word avec vos données à partir d'une Excel feuille. Sur la base de notre Mail Merge API, vous pouvez créer votre propre solution logicielle à l'aide C++, qui vous permet d'automatiser les e-mails à partir Excel et de générer des rapports avec des données Excel.

Pour effectuer une Mail merge et publipostage Excel vers Word, effectuez simplement l'opération de Mail merge et publipostage dans C++ et exportez le résultat vers n'importe quel Word format pris en charge.

Mail merge et publipostage Excel vers Word en utilisant C++

Grâce à notre puissante Mail merge API et publipostage, vous pouvez créer des documents personnalisés dans C++ en utilisant simplement un modèle Word Merge et des données Excel.

Comment utiliser Mail merge à partir Excel :

  • Créez un modèle Word avec des champs de fusion spéciaux dans lesquels vos données Excel seront insérées.
  • Convertissez le Excel document en fichier CSV, puis en JSON fichier adapté à l'analyse par notre API.
  • Effectuez l'opération de fusion par courrier du modèle Word et des données converties Excel en CSV puis en JSON.

Mail merge et publipostage avec Google Docs

Grâce à notre Mail merge API haute fidélité, vous pouvez également effectuer une opération de Mail merge avec Google Docs. Téléchargez simplement les données nécessaires au Word format et Excel, assurez-vous que le modèle Word contient des champs de fusion et effectuez l'opération de fusion et publipostage dans C++, similaire à l'algorithme décrit dans la section précédente.

Pour essayer ce puissant outil Web de Mail merge et publipostage, chargez un modèle Word avec des champs de fusion spéciaux et des données Excel converties comme décrit ci-dessus. Après avoir exécuté le code, exportez le résultat dans n'importe quel format en utilisant C++.

L'exemple suivant montre comment effectuer une opération de publipostage pour générer un Word document dans C++ Mail merge

Exécuter une opération de Mail merge et publipostage en utilisant le modèle docx dans C++
Télécharger un modèle de Mail merge
Exécuter le code
Télécharger les données de Mail merge et publipostage
Sélectionnez le format cible dans la liste
dotnet add package Aspose.Words.Cpp
Copie
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;
};
Exécuter le code

Comment utiliser Mail merge dans les docx fichiers

  1. Installez Aspose.Words for C++.
  2. Ajoutez une référence de bibliothèque (importez la bibliothèque) à votre projet C++.
  3. Créez un modèle de fusion docx avec des champs de fusion.
  4. Ouvrez le fichier modèle dans C++.
  5. Appelez la méthode Execute(), en y transmettant les champs de fusion et leurs valeurs.
  6. Appelez la méthode Save(), en transmettant un nom de fichier de sortie avec l'extension requise.
  7. Obtenez le résultat de l'opération de Mail merge et publipostage sous forme de Word fichier.

Bibliothèque C++ pour utiliser Mail merge dans docx

Il existe trois options pour installer Aspose.Words for C++ dans votre environnement de développeur. Veuillez en choisir un qui correspond à vos besoins et suivez les instructions étape par étape :

Configuration requise

Vous pouvez utiliser cette bibliothèque C++ pour développer des logiciels sur Microsoft Windows, Linux et macOS :

  • GCC >= 6.3.0 et Clang >= 3.9.1 sont requis pour Linux
  • Xcode >= 12.5.1, Clang et libc++ sont requis pour macOS

Si vous développez des logiciels pour Linux ou macOS, veuillez vérifier les informations sur les dépendances de bibliothèques supplémentaires ( packages open source fontconfig et mesa-glu) dans la documentation produit.

Autres formats de fichiers pris en charge

Vous pouvez effectuer une opération de Mail merge pour d'autres formats de fichiers :

5%

Abonnez-vous aux mises à jour des produits Aspose

Recevez des newsletters mensuelles et des offres directement dans votre boîte mail.

© Aspose Pty Ltd 2001-2024. Tous les droits sont réservés.