Crie docx usando Mail merge em C++

Biblioteca C++ de alta velocidade para executar a operação de Mail merge para docx modelos e dados da fonte de dados personalizada

Nossa solução fornece uma poderosa API independente de plataforma. Use nossa API de documentos de Mail merge para desenvolver software de alto nível para a plataforma C++. Esta é uma solução de software poderosa para mesclar modelos em Word formatos e PDF e dados de fontes de dados personalizadas e exportar ainda mais o resultado para DOCX, PDF, HTML e outros formatos populares usando C++.

Ver trecho de código

Arquivo do Word de Mail merge e dados do Excel em C++

Biblioteca C++ rápida para executar mala direta com dados do Excel.

Nosso Mail Merge SDK permite que você preencha um modelo do Word com seus dados da planilha do Excel. Com base em nossa Mail Merge API, você pode criar sua própria solução de software usando C++, que permite automatizar e-mails do Excel e gerar relatórios com dados do Excel.

Para Mail merge do Excel para o Word, simplesmente execute a operação de Mail merge em C++ e exporte o resultado para qualquer formato compatível do Word.

Mail merge do Excel para o Word usando C++

Com nossa poderosa Mail merge API, você pode criar documentos personalizados em C++ usando apenas um modelo de mesclagem do Word e dados do Excel.

Como usar a Mail merge do Excel:

  • Crie um modelo do Word com campos de mesclagem especiais nos quais seus dados do Excel serão inseridos.
  • Converta o Excel documento em arquivo CSV e depois em JSON arquivo adequado para análise por nossa API.
  • Execute a operação de mala direta do modelo do Word e dos dados convertidos do Excel para CSV e depois para JSON.

Mail merge com o Google Docs

Com nossa Mail merge API de alta fidelidade, você também pode executar uma operação de Mail merge com o Google Docs. Basta baixar os dados necessários no Word formato e Excel, certificar-se de que o modelo do Word contém campos de mesclagem e realizar a operação de mala direta em C++, semelhante ao algoritmo descrito na seção anterior.

Para experimentar esta poderosa ferramenta da Web de Mail merge, carregue um modelo do Word com campos de mesclagem especiais e dados do Excel convertidos conforme descrito acima. Depois de executar o código, exporte o resultado para qualquer formato usando C++.

O exemplo a seguir mostra como executar uma operação de Mail merge para gerar um Word documento em C++:

Execute uma operação de Mail merge usando o modelo docx em C++
Carregar um modelo de Mail merge
Código de execução
Carregar dados de Mail merge
Selecione o formato de destino na lista
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;
};
Código de execução

Como usar a Mail merge em docx arquivos

  1. Instale Aspose.Words for C++.
  2. Adicione uma referência de biblioteca (importe a biblioteca) ao seu projeto C++.
  3. Crie um modelo de mesclagem docx com campos de mesclagem.
  4. Abra o arquivo de modelo em C++.
  5. Chame o método Execute(), passando os campos de mesclagem e seus valores lá.
  6. Chame o método Save(), passando um nome de arquivo de saída com a extensão necessária.
  7. Obtenha o resultado da operação de Mail merge como Word arquivo.

C++ biblioteca para usar Mail merge em docx

Existem três opções para instalar Aspose.Words for C++ em seu ambiente de desenvolvedor. Escolha um que corresponda às suas necessidades e siga as instruções passo a passo:

Requisitos de sistema

Você pode usar esta biblioteca C++ para desenvolver software nos Microsoft Windows, Linux e macOS:

  • GCC >= 6.3.0 e Clang >= 3.9.1 são necessários para Linux
  • Xcode >= 12.5.1, Clang e libc++ são necessários para macOS

Se você desenvolve software para Linux ou macOS, verifique as informações sobre dependências adicionais da biblioteca (pacotes de fonte aberta fontconfig e mesa-glu) na Documentação do Produto.

Outros formatos de arquivo suportados

Você pode executar a operação de Mail merge para outros formatos de arquivo:

5%

Inscreva-se para receber atualizações do produto Aspose

Receba boletins e ofertas mensais diretamente em sua caixa de correio.

© Aspose Pty Ltd 2001-2024. Todos os direitos reservados.