Ստեղծեք docx ՝ օգտագործելով Mail merge C++ ում

Բարձր արագությամբ C++ գրադարան՝ docx ձևանմուշների և տվյալների հատուկ աղբյուրից Mail merge գործողությունը կատարելու համար

Մեր լուծումը ապահովում է հզոր հարթակ անկախ API: Օգտագործեք մեր Mail merge ի փաստաթղթերի API ՝ C++ հարթակի համար բարձր մակարդակի ծրագրակազմ մշակելու համար: Սա հզոր ծրագրային լուծում է Word և PDF ձևաչափերով ձևանմուշների և տվյալների հատուկ տվյալների աղբյուրներից միաձուլելու և արդյունքը DOCX, PDF, HTML և այլ հայտնի ձևաչափեր C++ ի միջոցով արտահանելու համար:

Դիտեք կոդի հատվածը

Mail merge Word ֆայլի և Excel-ի տվյալները C++

Արագ C++ գրադարան՝ Փոստի միաձուլումը Excel-ի տվյալների հետ:

Մեր Mail Merge SDK թույլ է տալիս լրացնել Word ձևանմուշը Excel թերթից ձեր տվյալներով: Հիմնվելով մեր Mail Merge API վրա՝ դուք կարող եք ստեղծել ձեր սեփական ծրագրային լուծումը՝ օգտագործելով C++, որը թույլ է տալիս ավտոմատացնել էլ. նամակները Excel-ից և ստեղծել հաշվետվություններ Excel-ի տվյալներով:

Mail merge Excel-ից Word ին միաձուլվելու համար պարզապես կատարեք Mail merge գործողությունը C++ և արդյունքը արտահանեք ցանկացած աջակցվող Word ձևաչափով:

Mail merge Excel-ից Word ին՝ օգտագործելով C++

Mail merge API ով դուք կարող եք ստեղծել անհատականացված փաստաթղթեր C++ ՝ օգտագործելով միայն Word Merge ձևանմուշը և Excel-ի տվյալները:

Ինչպես օգտագործել Mail merge Excel-ից.

  • Ստեղծեք Word ձևանմուշ հատուկ միաձուլման դաշտերով, որոնց մեջ կտեղադրվեն ձեր տվյալները Excel-ից:
  • Excel փաստաթուղթը փոխարկեք CSV ֆայլի, այնուհետև JSON ֆայլի, որը հարմար է մեր API ով վերլուծելու համար:
  • Կատարեք Mail-ի գործողությունը՝ միաձուլելով Word ձևանմուշը և Excel-ից CSV ի, այնուհետև JSON ի փոխարկված տվյալները:

Mail merge Google Փաստաթղթերի հետ

Mail merge API ի միջոցով դուք կարող եք նաև կատարել Mail merge գործողություն Google Փաստաթղթերի հետ: Պարզապես ներբեռնեք անհրաժեշտ տվյալները Word և Excel ձևաչափերով, համոզվեք, որ Word ձևանմուշը պարունակում է միաձուլման դաշտեր և կատարեք Mail merge գործողությունը C++ ում՝ նախորդ բաժնում նկարագրված ալգորիթմի նման:

Mail merge այս հզոր վեբ գործիքը փորձելու համար բեռնեք Word ձևանմուշը հատուկ միաձուլման դաշտերով և Excel-ից վերափոխված տվյալների վրա, ինչպես նկարագրված է վերևում: Կոդը գործարկելուց հետո արդյունքը արտահանեք ցանկացած ձևաչափով՝ օգտագործելով C++:

Հետևյալ օրինակը ցույց է տալիս, թե ինչպես կատարել Mail merge գործողություն՝ Word փաստաթուղթ ստեղծելու համար C++.

Կատարեք Mail merge գործողություն՝ օգտագործելով docx ձևանմուշը C++ ում
Վերբեռնեք Mail merge ձևանմուշը
Գործարկել կոդը
Վերբեռնեք Mail merge տվյալները
Ցանկից ընտրեք թիրախային ձևաչափը
dotnet add package Aspose.Words.Cpp
Պատճենել
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;
};
Գործարկել կոդը

Ինչպես օգտագործել Mail merge docx ֆայլերում

  1. Տեղադրեք Aspose.Words for C++:
  2. Ավելացրեք գրադարանի հղում (ներմուծեք գրադարանը) ձեր C++ նախագծին:
  3. Ստեղծեք docx միաձուլման ձևանմուշ միաձուլման դաշտերով:
  4. Բացեք կաղապարի ֆայլը C++ ում:
  5. Կանչեք Execute() մեթոդը՝ այնտեղ փոխանցելով միաձուլման դաշտերը և դրանց արժեքները:
  6. Զանգահարեք Save() մեթոդը՝ փոխանցելով ելքային ֆայլի անունը՝ պահանջվող ընդլայնմամբ:
  7. Ստացեք Mail merge գործողության արդյունքը որպես Word ֆայլ:

C++ գրադարան՝ docx ում Mail merge օգտագործելու համար

Ձեր մշակողի միջավայրում Aspose.Words for C++ տեղադրելու երեք տարբերակ կա: Խնդրում ենք ընտրել մեկը, որը համապատասխանում է ձեր կարիքներին և հետևեք քայլ առ քայլ հրահանգներին.

Համակարգի պահանջները

Դուք կարող եք օգտագործել այս C++ գրադարանը ` Microsoft Windows, Linux և macOS օպերացիոն համակարգերում ծրագրակազմ մշակելու համար:

  • GCC >= 6.3.0 և Clang >= 3.9.1 պահանջվում են Linux- ի համար
  • MaccOS- ի համար պահանջվում է Xcode >= 12.5.1, Clang և libc++

Եթե դուք ծրագրակազմ եք մշակում Linux- ի կամ macOS- ի համար, խնդրում ենք ստուգել գրադարանի լրացուցիչ կախվածության (fontconfig և mesa-glu բաց կոդով փաթեթների) մասին տեղեկությունները Ապրանքի փաստաթղթերում:

Այլ աջակցվող ֆայլի ձևաչափեր

Դուք կարող եք կատարել Mail merge գործողություն այլ ֆայլերի ձևաչափերի համար.

5%

Բաժանորդագրվեք Aspose Product Updates-ին

Ստացեք ամսական տեղեկագրեր և առաջարկներ անմիջապես ձեր փոստարկղին:

© Aspose Pty Ltd 2001-2024. Բոլոր իրավունքները պաշտպանված են.