우리의 솔루션은 강력한 플랫폼 독립적인 API 제공합니다. Mail merge 문서 API 를 사용하여 C++ 플랫폼용 고급 소프트웨어를 개발하십시오. 이것은 Word 및 PDF 형식의 템플릿과 사용자 지정 데이터 소스의 데이터를 병합하고 C++ 를 사용하여 DOCX, PDF, HTML 및 기타 인기 있는 형식으로 결과를 내보내기 위한 강력한 소프트웨어 솔루션입니다.
Excel 데이터와 메일 병합을 실행하는 빠른 C++ 라이브러리.
Mail Merge SDK 를 사용하면 Excel 시트의 데이터로 Word 템플릿을 채울 수 있습니다. Mail Merge API 를 기반으로 C++ 을 사용하여 Excel에서 이메일을 자동화하고 Excel 데이터로 보고서를 생성할 수 있는 고유한 소프트웨어 솔루션을 만들 수 있습니다.
Excel에서 Word로 편지를 Mail merge 하려면 C++ 에서 Mail merge 작업을 수행하고 결과를 지원되는 Word 형식으로 내보내십시오.
강력한 Mail merge API 를 사용하면 Word Merge 템플릿과 Excel의 데이터만 사용하여 C++ 에서 개인화된 문서를 만들 수 있습니다.
Excel에서 Mail merge 을 사용하는 방법:
충실도가 높은 Mail merge API 를 사용하면 Google 문서도구로 Mail merge 작업을 수행할 수도 있습니다. 필요한 데이터를 Word 및 Excel 형식으로 다운로드하고 Word 템플릿에 병합 필드가 포함되어 있는지 확인하고 이전 섹션에서 설명한 알고리즘과 유사한 C++ 에서 메일 병합 작업을 수행하기만 하면 됩니다.
이 강력한 Mail merge 웹 도구를 사용하려면 위에 설명된 대로 Excel에서 변환된 특수 병합 필드와 데이터가 있는 Word 템플릿을 로드하십시오. 코드를 실행한 후 C++ 을 사용하여 결과를 원하는 형식으로 내보냅니다.
다음 예제는 Mail merge 작업을 수행하여 C++ 에서 Word 문서를 생성하는 방법을 보여줍니다.
dotnet add package Aspose.Words.Cpp
복사
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;
};
개발자 환경에 Aspose.Words for C++ 를 설치하는 세 가지 옵션이 있습니다. 귀하의 요구 사항과 유사한 것을 선택하고 단계별 지침을 따르십시오.
이 C++ 라이브러리를 사용하여 Microsoft Windows, Linux 및 macOS 운영 체제에서 소프트웨어를 개발할 수 있습니다:
Linux 또는 macOS용 소프트웨어를 개발하는 경우 제품 설명서 fontconfig 및 mesa-glu 오픈 소스 패키지)에 대한 정보를 확인하십시오.
다른 파일 형식에 대해 Mail merge 작업을 수행할 수 있습니다.