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++.
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.
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:
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++:
dotnet add package Aspose.Words.Cpp
Cópia de
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;
};
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:
Você pode usar esta biblioteca C++ para desenvolver software nos Microsoft Windows, Linux e 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.
Você pode executar a operação de Mail merge para outros formatos de arquivo: