C++ içinde Mail merge kullanarak docx oluşturun

docx şablonları ve özel veri kaynağından gelen veriler için Mail merge işlemini yürütmek için yüksek hızlı C++ kitaplığı

Çözümümüz, platformdan bağımsız güçlü bir API sağlar. C++ platformu için üst düzey yazılım geliştirmek için Mail merge belge API kullanın. Bu, Word ve PDF formatlarındaki şablonları ve özel veri kaynaklarından gelen verileri birleştirmek ve sonucu C++ kullanarak DOCX, PDF, HTML ve diğer popüler formatlara aktarmak için güçlü bir yazılım çözümüdür.

Kod parçacığını görüntüle

Mail merge Word dosyası ve Excel verileri C++ içinde

Excel verileriyle Adres Mektup birleştirme işlemini yürütmek için hızlı C++ kitaplığı.

Mail Merge SDK, bir Word şablonunu Excel sayfasındaki verilerinizle doldurmanıza olanak tanır. Mail Merge API API'mize dayalı olarak, Excel'den gelen e-postaları otomatikleştirmenize ve Excel verileriyle raporlar oluşturmanıza olanak tanıyan C++ kullanarak kendi yazılım çözümünüzü oluşturabilirsiniz.

Excel'den Word'e Mail merge için, yalnızca C++ Mail merge işlemini gerçekleştirin ve sonucu desteklenen herhangi bir Word biçimine aktarın.

C++ kullanarak Excel'den Word'e Mail merge

Güçlü Mail merge API API'miz ile C++ yalnızca bir Word Birleştirme şablonu ve Excel'den alınan verileri kullanarak kişiselleştirilmiş belgeler oluşturabilirsiniz.

Excel'den Mail merge nasıl kullanılır:

  • Excel'deki verilerinizin ekleneceği özel birleştirme alanlarına sahip bir Word şablonu oluşturun.
  • Excel belgesini CSV dosyasına ve ardından API'miz tarafından ayrıştırılmaya uygun JSON dosyasına dönüştürün.
  • Word şablonunu ve Excel'den CSV'ye ve ardından JSON'a dönüştürülen verileri birleştirerek Posta işlemini gerçekleştirin.

Google Dokümanlar ile Mail merge

Yüksek kaliteli Mail merge API Mektup birleştirme API'miz ile Google Dokümanlar ile Mail merge işlemi de gerçekleştirebilirsiniz. Gerekli verileri Word ve Excel formatında indirin, Word şablonunun birleştirme alanları içerdiğinden emin olun ve önceki bölümde açıklanan algoritmaya benzer şekilde C++ içinde Adres mektup birleştirme işlemini gerçekleştirin.

Bu güçlü Mail merge web aracını denemek için, özel birleştirme alanları ve yukarıda açıklandığı gibi dönüştürülmüş Excel verileri içeren bir Word şablonu yükleyin. Kodu çalıştırdıktan sonra, sonucu C++ kullanarak herhangi bir formatta dışa aktarın.

Aşağıdaki örnek, C++ içinde bir Word belgesi oluşturmak için Mail merge işleminin nasıl gerçekleştirileceğini gösterir:

C++ içinde docx şablonunu kullanarak bir Mail merge işlemi yürütün
Mail merge şablonu yükleyin
Kodu çalıştır
Mail merge verilerini yükleyin
Listeden hedef formatı seçin
dotnet add package Aspose.Words.Cpp
Kopyala
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;
};
Kodu çalıştır

Mail merge, docx dosyada nasıl kullanılır?

  1. Aspose.Words for C++ yükleyin.
  2. C++ projenize bir kitaplık referansı ekleyin (kitaplığı içe aktarın).
  3. Birleştirme alanlarıyla bir docx birleştirme şablonu oluşturun.
  4. Şablon dosyasını C++ içinde açın.
  5. Birleştirme alanlarını ve değerlerini oradan geçirerek Execute() yöntemini çağırın.
  6. Gerekli uzantıya sahip bir çıktı dosya adı ileterek Save() yöntemini çağırın.
  7. Mail merge işleminin sonucunu Word dosyası olarak alın.

Mail merge kullanmak için C++ kitaplığı docx

Aspose.Words for C++ ı geliştirici ortamınıza yüklemek için üç seçeneğiniz vardır. Lütfen ihtiyaçlarınıza uygun olanı seçin ve adım adım talimatları izleyin:

sistem gereksinimleri

Microsoft Windows, Linux ve macOS işletim sistemlerinde yazılım geliştirmek için bu C++ kitaplığını kullanabilirsiniz:

  • Linux için GCC >= 6.3.0 ve Clang >= 3.9.1
  • Xcode >= 12.5.1, macOS için Clang ve libc++

Linux veya macOS için yazılım geliştiriyorsanız, lütfen Ürün Belgelerinde fontconfig ve mesa-glu açık kaynak paketleri) hakkındaki bilgileri kontrol edin.

Desteklenen diğer dosya biçimleri

Diğer dosya biçimleri için Mail merge işlemini gerçekleştirebilirsiniz:

5%

Aspose Ürün Güncellemelerine Abone Olun

Doğrudan posta kutunuza teslim edilen aylık bültenleri ve teklifleri alın.

© Aspose Pty Ltd 2001-2024. Her hakkı saklıdır.