Buat docx menggunakan Mail merge dalam C++

Pustaka C++ berkelajuan tinggi untuk melaksanakan operasi Mail merge untuk templat docx dan data daripada sumber data tersuai

Penyelesaian kami menyediakan API bebas platform yang berkuasa. Gunakan API dokumen Mail merge kami untuk membangunkan perisian peringkat tinggi untuk platform C++. Ini ialah penyelesaian perisian yang berkuasa untuk menggabungkan templat dalam Word format dan PDF serta data daripada sumber data tersuai dan seterusnya mengeksport hasilnya ke DOCX, PDF, HTML dan format popular lain menggunakan C++.

Lihat coretan kod

Mail merge Word fail dan Excel data dalam C++

C++ untuk melaksanakan gabungan Mel dengan Excel data.

Mail Merge SDK kami membolehkan anda mengisi templat Word dengan data anda daripada Excel helaian. Berdasarkan Mail Merge API kami, anda boleh mencipta penyelesaian perisian anda sendiri menggunakan C++, yang membolehkan anda mengautomasikan e-mel daripada Excel dan menjana laporan dengan Excel data.

Untuk Cantuman Mail merge daripada Excel ke Word, cuma laksanakan operasi Cantum Mail merge dalam C++ dan eksport hasilnya ke mana-mana Word format yang disokong.

Cantuman Mail merge daripada Excel ke Word menggunakan C++

Dengan Mail merge API kami yang berkuasa, anda boleh membuat dokumen diperibadikan dalam C++ menggunakan hanya templat Gabungan Word dan data daripada Excel.

Cara menggunakan Mail merge daripada Excel:

  • Cipta templat Word dengan medan gabungan khas di mana data anda daripada Excel akan dimasukkan.
  • Tukar Excel dokumen kepada fail CSV dan kemudian kepada JSON fail yang sesuai untuk dihuraikan oleh API kami.
  • Laksanakan operasi Mel menggabungkan templat Word dan data yang ditukar daripada Excel kepada CSV dan kemudian kepada JSON.

Mail merge dengan Dokumen Google

Dengan Mail merge API kesetiaan tinggi kami, anda juga boleh melakukan operasi Mail merge dengan Dokumen Google. Muat turun sahaja data yang diperlukan dalam Word format dan Excel, pastikan templat Word mengandungi medan cantum dan lakukan operasi cantum Mel dalam C++, serupa dengan algoritma yang diterangkan dalam bahagian sebelumnya.

Untuk mencuba alat web Mail merge yang berkuasa ini, muatkan templat Word dengan medan gabungan khas dan data daripada Excel yang ditukar seperti yang diterangkan di atas. Selepas menjalankan kod, eksport hasil ke sebarang format menggunakan C++.

Contoh berikut menunjukkan cara melakukan operasi Mail merge untuk menjana Word dokumen dalam C++:

Laksanakan operasi Mail merge menggunakan templat docx dalam C++
Muat naik templat Mail merge
Jalankan kod
Muat naik data Mail merge
Pilih format sasaran daripada senarai
dotnet add package Aspose.Words.Cpp
Salinan
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;
};
Jalankan kod

Cara menggunakan Mail merge dalam docx fail

  1. Pasang Aspose.Words for C++.
  2. Tambahkan rujukan perpustakaan (import pustaka) ke projek C++ anda.
  3. Cipta templat gabungan docx dengan medan gabungan.
  4. Buka fail templat dalam C++.
  5. Panggil kaedah Execute(), lulus medan gabungan dan nilainya di sana.
  6. Panggil kaedah Save(), menghantar nama fail output dengan sambungan yang diperlukan.
  7. Dapatkan hasil operasi Mail merge sebagai Word fail.

Pustaka C++ untuk menggunakan Mail merge dalam docx

Terdapat tiga pilihan untuk memasang Aspose.Words for C++ ke persekitaran pembangun anda. Sila pilih satu yang menyerupai keperluan anda dan ikut arahan langkah demi langkah:

Keperluan Sistem

Anda boleh menggunakan perpustakaan C++ ini untuk mengembangkan perisian pada Microsoft Windows, Linux dan macOS:

  • GCC >= 6.3.0 dan Clang >= 3.9.1 diperlukan untuk Linux
  • Xcode >= 12.5.1, Clang dan libc++ diperlukan untuk macOS

Sekiranya anda mengembangkan perisian untuk Linux atau macOS, sila periksa maklumat mengenai pergantungan perpustakaan tambahan (pakej sumber terbuka fontconfig dan mesa-glu) dalam Dokumentasi Produk.

Format fail lain yang disokong

Anda boleh melakukan operasi Mail merge untuk format fail lain:

5%

Langgan Kemas Kini Produk Aspose

Dapatkan surat berita bulanan dan tawaran yang dihantar terus ke peti mel anda.

© Aspose Pty Ltd 2001-2024. Hak cipta terpelihara.