Opret docx ved hjælp af Mail merge i C++

Højhastigheds C++ bibliotek til at udføre Mail merge for docx skabeloner og data fra tilpasset datakilde

Vores løsning giver en kraftfuld platformsuafhængig API. Brug vores Mail merge Document API til at udvikle software på højt niveau til C++ platformen. Dette er en kraftfuld softwareløsning til at flette skabeloner i Word og PDF formater og data fra brugerdefinerede datakilder og yderligere eksportere resultatet til DOCX, PDF, HTML og andre populære formater ved hjælp af C++.

Se kodestykket

Mail merge af Word fil og Excel-data i C++

Hurtigt C++ bibliotek til at udføre brevfletning med Excel-data.

Vores Mail Merge SDK giver dig mulighed for at udfylde en Word skabelon med dine data fra Excel-ark. Baseret på vores Mail Merge API kan du oprette din egen softwareløsning ved hjælp af C++, som giver dig mulighed for at automatisere e-mails fra Excel og generere rapporter med Excel-data.

For at Mail merge fra Excel til Word skal du blot udføre Mail merge i C++ og eksportere resultatet til alle understøttede Word formater.

Mail merge fra Excel til Word ved hjælp af C++

Med vores kraftfulde Mail merge API kan du oprette personlige dokumenter i C++ ved hjælp af blot en Word Merge-skabelon og data fra Excel.

Sådan bruger du Mail merge fra Excel:

  • Opret en Word skabelon med specielle flettefelter, hvori dine data fra Excel vil blive indsat.
  • Konverter Excel-dokument til CSV fil og derefter til JSON fil, der er egnet til parsing af vores API.
  • Udfør handlingen med Mail, der sammenfletter Word skabelonen og data konverteret fra Excel til CSV og derefter til JSON.

Mail merge med Google Docs

Med vores high-fidelity Mail merge API kan du også udføre en Mail merge -operation med Google Docs. Bare download de nødvendige data i Word og Excel-format, sørg for at Word skabelonen indeholder fletningsfelter og udfør brevfletningsoperationen i C++, svarende til algoritmen beskrevet i det foregående afsnit.

For at prøve dette kraftfulde Mail merge -webværktøj skal du indlæse en Word skabelon med specielle flettefelter og data fra Excel konverteret som beskrevet ovenfor. Når du har kørt koden, eksporter du resultatet til ethvert format ved hjælp af C++.

Følgende eksempel viser, hvordan man udfører en Mail merge for at generere et Word dokument i C++:

Udfør en Mail merge ved hjælp af skabelonen docx i C++
Upload en Mail merge
Kør kode
Upload Mail merge
Vælg målformatet fra listen
dotnet add package Aspose.Words.Cpp
Kopi
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 kode

Sådan bruger du Mail merge i docx filer

  1. Installer Aspose.Words for C++.
  2. Tilføj en biblioteksreference (importér biblioteket) til dit C++ projekt.
  3. Opret en docx fletteskabelon med flettefelter.
  4. Åbn skabelonfilen i C++.
  5. Kald Execute() metoden, og send flettefelterne og deres værdier dertil.
  6. Kald Save() metoden, og send et outputfilnavn med påkrævet udvidelse.
  7. Få resultatet af Mail merge som Word fil.

C++ bibliotek for at bruge Mail merge i docx

Der er tre muligheder for at installere Aspose.Words for C++ til dit udviklermiljø. Vælg venligst en, der ligner dine behov, og følg trin-for-trin instruktionerne:

Systemkrav

Du kan bruge dette C++ - bibliotek til at udvikle software på Microsoft Windows, Linux og macOS -operativsystemer:

  • GCC >= 6.3.0 og Clang >= 3.9.1 er påkrævet til Linux
  • Xcode >= 12.5.1, Clang og libc++ er påkrævet til macOS

Hvis du udvikler software til Linux eller macOS, skal du kontrollere oplysninger om yderligere bibliotekafhængigheder (fontconfig og mesa-glu open source-pakker) i produktdokumentation.

Andre understøttede filformater

Du kan udføre Mail merge for andre filformater:

5%

Abonner på Aspose produktopdateringer

Få månedlige nyhedsbreve og tilbud leveret direkte til din postkasse.

© Aspose Pty Ltd 2001-2024. Alle rettigheder forbeholdes.