Buat docx menggunakan Mail merge di C++

Pustaka C++ berkecepatan tinggi untuk menjalankan operasi Mail merge untuk docx template dan data dari sumber data khusus

Solusi kami menyediakan API independen platform yang kuat. Gunakan API dokumen Mail merge kami untuk mengembangkan perangkat lunak tingkat tinggi untuk platform C++. Ini adalah solusi perangkat lunak yang kuat untuk menggabungkan template dalam Word format dan PDF dan data dari sumber data khusus dan selanjutnya mengekspor hasilnya ke DOCX, PDF, HTML dan format populer lainnya menggunakan C++.

Lihat cuplikan kode

Mail merge Word file dan Excel data di C++

C++ yang cepat untuk mengeksekusi gabungan Mail dengan Excel data.

Mail Merge SDK kami memungkinkan Anda untuk mengisi template Word dengan data Anda dari Excel lembar. Berdasarkan Mail Merge API kami, Anda dapat membuat solusi perangkat lunak Anda sendiri menggunakan C++, yang memungkinkan Anda mengotomatiskan email dari Excel dan membuat laporan dengan Excel data.

Untuk Mail merge dari Excel ke Word, cukup lakukan operasi Mail merge di C++ dan ekspor hasilnya ke Word format yang didukung.

Mail merge dari Excel ke Word menggunakan C++

Dengan Mail merge API kami yang canggih, Anda dapat membuat dokumen yang dipersonalisasi di C++ hanya menggunakan templat Penggabungan Kata dan data dari Excel.

Cara menggunakan Mail merge dari Excel:

  • Buat templat Word dengan bidang gabungan khusus tempat data Anda dari Excel akan dimasukkan.
  • Konversikan Excel dokumen ke file CSV dan kemudian ke JSON file yang cocok untuk diuraikan oleh API kami.
  • Lakukan operasi Mail yang menggabungkan template Word dan data yang dikonversi dari Excel ke CSV lalu ke JSON.

Mail merge dengan Google Docs

Dengan Mail merge API fidelitas tinggi kami, Anda juga dapat melakukan operasi Mail merge dengan Google Documents. Cukup unduh data yang diperlukan dalam Word format dan Excel, pastikan template Word berisi kolom gabungan dan lakukan operasi gabungan Surat di C++, mirip dengan algoritme yang dijelaskan di bagian sebelumnya.

Untuk mencoba alat web Mail merge yang ampuh ini, muat templat Word dengan bidang gabungan khusus dan data dari Excel yang dikonversi seperti dijelaskan di atas. Setelah menjalankan kode, ekspor hasilnya ke format apa pun menggunakan C++.

Contoh berikut menunjukkan cara melakukan operasi Mail merge untuk menghasilkan Word dokumen di C++:

Jalankan operasi Mail merge menggunakan kerangka docx di C++
Unggah template Mail merge
Jalankan kode
Unggah data Mail merge
Pilih format target dari daftar
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 kode

Cara menggunakan Mail merge di docx file

  1. Instal Aspose.Words for C++.
  2. Tambahkan referensi perpustakaan (impor perpustakaan) ke proyek C++ Anda.
  3. Buat docx template gabungan dengan bidang gabungan.
  4. Buka berkas kerangka di C++.
  5. Panggil metode Execute(), meneruskan bidang gabungan dan nilainya di sana.
  6. Panggil metode Save(), dengan meneruskan nama file keluaran dengan ekstensi yang diperlukan.
  7. Dapatkan hasil operasi Mail merge sebagai Word file.

C++ perpustakaan untuk menggunakan Mail merge di docx

Ada tiga opsi untuk menginstal Aspose.Words for C++ ke lingkungan pengembang Anda. Silakan pilih salah satu yang sesuai dengan kebutuhan Anda dan ikuti petunjuk langkah demi langkah:

Persyaratan sistem

Anda dapat menggunakan pustaka C++ ini untuk mengembangkan perangkat lunak 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

Jika Anda mengembangkan perangkat lunak untuk Linux atau macOS, silakan periksa informasi tentang dependensi perpustakaan tambahan (paket sumber terbuka fontconfig dan mesa-glu glu) di Dokumentasi Produk.

Format file lain yang didukung

Anda dapat melakukan operasi Mail merge untuk format file lain:

5%

Berlangganan Pembaruan Produk Aspose

Dapatkan buletin bulanan dan penawaran langsung dikirim ke kotak surat Anda.

© Aspose Pty Ltd 2001-2024. Seluruh hak cipta.