Utwórz docx za pomocą Mail merge w C++

Szybka biblioteka C++ do wykonywania operacji Mail merge dla docx szablonów i danych z niestandardowego źródła danych

Nasze rozwiązanie zapewnia potężne, niezależne od platformy API. Skorzystaj z naszego API dokumentów Mail merge, aby opracować oprogramowanie wysokiego poziomu dla platformy C++. Jest to potężne rozwiązanie programowe do łączenia szablonów w Word formatach i PDF oraz danych z niestandardowych źródeł danych i dalszego eksportu wyników do DOCX, PDF, HTML i innych popularnych formatów przy użyciu C++.

Zobacz fragment kodu

Plik Mail merge Word i dane programu Excel w C++

Szybka biblioteka C++ do wykonywania korespondencji seryjnej z danymi programu Excel.

Nasz Mail Merge SDK umożliwia wypełnienie szablonu programu Word danymi z arkusza programu Excel. W oparciu o nasze Mail Merge API możesz stworzyć własne rozwiązanie programowe za pomocą C++, które pozwala zautomatyzować e-maile z Excela i generować raporty z Excel danymia.

Aby Mail merge z Excela do Worda, po prostu wykonaj operację Mail merge w C++ i wyeksportuj wynik do dowolnego obsługiwanego Word formatua.

Mail merge z Excela do Worda przy użyciu C++

Dzięki naszemu potężnemu Mail merge API możesz tworzyć spersonalizowane dokumenty w C++ przy użyciu tylko szablonu Word Merge i danych z Excela.

Jak korzystać z Mail merge z programu Excel:

  • Utwórz szablon Word ze specjalnymi polami scalania, do których zostaną wstawione Twoje dane z Excela.
  • Konwertuj Excel dokument do pliku CSV, a następnie do JSON pliku odpowiedniego do analizy przez nasze API.
  • Wykonaj operację Mail scalania szablonu Word i danych przekonwertowanych z Excela do CSV, a następnie do JSON.

Mail merge z Dokumentami Google

Dzięki naszemu wysokiej jakości Mail merge API możesz także wykonywać operacje Mail merge w Dokumentach Google. Wystarczy pobrać potrzebne dane w Word formacie i Excel, upewnić się, że szablon Worda zawiera pola korespondencji seryjnej i wykonać operację korespondencji seryjnej w C++, podobnie do algorytmu opisanego w poprzedniej sekcji.

Aby wypróbować to potężne narzędzie internetowe do Mail merge, załaduj szablon programu Word ze specjalnymi polami korespondencji seryjnej i danymi z programu Excel przekonwertowanymi zgodnie z powyższym opisem. Po uruchomieniu kodu wyeksportuj wynik do dowolnego formatu, używając C++.

Poniższy przykład pokazuje, jak wykonać operację Mail merge w celu wygenerowania dokumentu programu Word w C++:

Wykonaj operację Mail merge przy użyciu szablonu docx w C++
Prześlij szablon Mail merge
Uruchom kod
Prześlij dane Mail merge
Wybierz format docelowy z listy
dotnet add package Aspose.Words.Cpp
Kopiuj
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;
};
Uruchom kod

Jak korzystać z Mail merge w docx plikach

  1. Zainstaluj Aspose.Words for C++.
  2. Dodaj odniesienie do biblioteki (zaimportuj bibliotekę) do swojego C++ projektu.
  3. Utwórz szablon scalania docx z polami scalania.
  4. Otwórz plik szablonu w C++.
  5. Wywołaj metodę Execute(), przekazując tam pola scalania i ich wartości.
  6. Wywołaj metodę Save(), przekazując nazwę pliku wyjściowego z wymaganym rozszerzeniem.
  7. Uzyskaj wynik operacji Mail merge jako Word plik.

Biblioteka C++ do korzystania z Mail merge w docx

Istnieją trzy opcje instalacji Aspose.Words for C++ w środowisku deweloperskim. Wybierz taki, który odpowiada Twoim potrzebom i postępuj zgodnie z instrukcjami krok po kroku:

wymagania systemowe

Możesz użyć tej biblioteki C++ do tworzenia oprogramowania w Microsoft Windows, Linux i macOS:

  • GCC >= 6.3.0 i Clang >= 3.9.1 są wymagane dla Linuksa
  • Xcode >= 12.5.1, Clang i libc++ są wymagane dla macOS

Jeśli tworzysz oprogramowanie dla systemu Linux lub macOS, sprawdź informacje o dodatkowych zależnościach bibliotecznych (fontconfig i mesa-glu open-source) w dokumentacji produktu.

Inne obsługiwane formaty plików

Możesz wykonać operację Mail merge dla innych formatów plików:

5%

Subskrybuj aktualizacje produktów Aspose

Otrzymuj comiesięczne biuletyny i oferty dostarczane bezpośrednio do Twojej skrzynki pocztowej.

© Aspose Pty Ltd 2001-2024. Wszelkie prawa zastrzeżone.