Vytvořit docx pomocí Mail merge v C++

Vysokorychlostní knihovna C++ pro provádění operace Mail merge pro šablony a docx data z vlastního zdroje dat

Naše řešení poskytuje výkonné API nezávislé na platformě. Použijte naše API pro dokumenty Mail merge k vývoji softwaru na vysoké úrovni pro platformu C++. Jedná se o výkonné softwarové řešení pro slučování šablon ve Word formátech a PDF a dat z vlastních zdrojů dat a další export výsledku do DOCX, PDF, HTML a dalších oblíbených formátů pomocí C++.

Zobrazit fragment kódu

Mail merge Word soubor a data aplikace Excel v C++

Rychlá knihovna C++ pro spouštění hromadné korespondence s daty aplikace Excel.

Naše Mail Merge SDK vám umožňuje naplnit šablonu aplikace Word vašimi daty z listu aplikace Excel. Na základě našeho Mail Merge API si můžete vytvořit vlastní softwarové řešení pomocí C++, které vám umožní automatizovat e-maily z Excelu a generovat sestavy s excelovými daty.

Chcete-li Mail merge z Excelu do Wordu, jednoduše proveďte operaci Mail merge v C++ a exportujte výsledek do všech podporovaných formátů aplikace Word.

Mail merge z Excelu do Wordu pomocí C++

S naším výkonným Mail merge API můžete vytvářet personalizované dokumenty v C++ pouze pomocí šablony Word Merge a dat z Excelu.

Jak používat Mail merge z Excelu:

  • Vytvořte šablonu Wordu se speciálními slučovacími poli, do kterých se vloží vaše data z Excelu.
  • Převeďte Excel dokument do souboru CSV a poté do JSON souboru vhodného pro analýzu pomocí našeho API.
  • Proveďte operaci hromadného sloučení šablony Wordu a dat převedených z Excelu do CSV a poté do JSON.

Mail merge s Dokumenty Google

S naším vysoce věrným Mail merge API můžete také provádět operace Mail merge s Dokumenty Google. Stačí si stáhnout potřebná data ve Word formátu a Excel, ujistěte se, že šablona Wordu obsahuje slučovací pole a proveďte operaci hromadné korespondence v C++, podobnou algoritmu popsanému v předchozí části.

Chcete-li vyzkoušet tento výkonný webový nástroj Mail merge, načtěte šablonu aplikace Word se speciálními slučovacími poli a daty z Excelu převedenými výše popsaným způsobem. Po spuštění kódu exportujte výsledek do libovolného formátu pomocí C++.

Následující příklad ukazuje, jak provést operaci Mail merge za účelem vygenerování dokumentu aplikace Word v C++:

Proveďte operaci Mail merge pomocí šablony docx v C++
Nahrajte šablonu Mail merge
Spustit kód
Nahrajte data Mail merge
Vyberte cílový formát ze seznamu
dotnet add package Aspose.Words.Cpp
Kopírovat
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;
};
Spustit kód

Jak používat Mail merge v docx souborech

  1. Nainstalujte Aspose.Words for C++.
  2. Přidejte odkaz na knihovnu (importujte knihovnu) do svého C++ projektu.
  3. Vytvořte slučovací šablonu docx se slučovacími poli.
  4. Otevřete soubor šablony v C++.
  5. Zavolejte metodu Execute() a předejte tam slučovací pole a jejich hodnoty.
  6. Zavolejte metodu Save() a předejte výstupní název souboru s požadovanou příponou.
  7. Získejte výsledek operace Mail merge jako Word soubor.

Knihovna C++ pro použití Mail merge v docx

Existují tři možnosti instalace Aspose.Words for C++ do vašeho vývojářského prostředí. Vyberte si prosím ten, který odpovídá vašim potřebám, a postupujte podle pokynů krok za krokem:

Požadavky na systém

Tuto knihovnu C++ můžete použít k vývoji softwaru v Microsoft Windows, Linux a macOS:

  • Pro Linux jsou vyžadovány GCC >= 6.3.0 a Clang >= 3.9.1
  • Pro macOS je vyžadován Xcode >= 12.5.1, Clang a libc++

Pokud vyvíjíte software pro Linux nebo macOS, zkontrolujte informace o dalších závislostech knihovny (fontconfig a mesa-glu ) v dokumentaci produktu.

Další podporované formáty souborů

Operaci Mail merge můžete provést pro jiné formáty souborů:

5%

Přihlaste se k odběru aktualizací produktu Aspose

Získejte měsíční zpravodaje a nabídky přímo do vaší poštovní schránky.

© Aspose Pty Ltd 2001-2024. Všechna práva vyhrazena.