C++ 에서 Mail merge 을 사용하여 docx 만들기

docx 템플릿 및 사용자 지정 데이터 소스의 데이터에 대한 Mail merge 작업을 실행하는 고속 C++ 라이브러리

우리의 솔루션은 강력한 플랫폼 독립적인 API 제공합니다. Mail merge 문서 API 를 사용하여 C++ 플랫폼용 고급 소프트웨어를 개발하십시오. 이것은 Word 및 PDF 형식의 템플릿과 사용자 지정 데이터 소스의 데이터를 병합하고 C++ 를 사용하여 DOCX, PDF, HTML 및 기타 인기 있는 형식으로 결과를 내보내기 위한 강력한 소프트웨어 솔루션입니다.

코드 스니펫 보기

Mail merge Word 파일 및 C++ 의 Excel 데이터

Excel 데이터와 메일 병합을 실행하는 빠른 C++ 라이브러리.

Mail Merge SDK 를 사용하면 Excel 시트의 데이터로 Word 템플릿을 채울 수 있습니다. Mail Merge API 를 기반으로 C++ 을 사용하여 Excel에서 이메일을 자동화하고 Excel 데이터로 보고서를 생성할 수 있는 고유한 소프트웨어 솔루션을 만들 수 있습니다.

Excel에서 Word로 편지를 Mail merge 하려면 C++ 에서 Mail merge 작업을 수행하고 결과를 지원되는 Word 형식으로 내보내십시오.

C++ 을 사용하여 Excel에서 Word로 Mail merge

강력한 Mail merge API 를 사용하면 Word Merge 템플릿과 Excel의 데이터만 사용하여 C++ 에서 개인화된 문서를 만들 수 있습니다.

Excel에서 Mail merge 을 사용하는 방법:

  • Excel의 데이터가 삽입될 특수 병합 필드가 있는 Word 템플릿을 만듭니다.
  • Excel 문서를 CSV 파일로 변환한 다음 API로 구문 분석하기에 적합한 JSON 파일로 변환합니다.
  • Word 템플릿과 Excel에서 CSV로 변환한 다음 JSON으로 변환한 데이터를 메일 병합하는 작업을 수행합니다.

Google 문서도구로 Mail merge

충실도가 높은 Mail merge API 를 사용하면 Google 문서도구로 Mail merge 작업을 수행할 수도 있습니다. 필요한 데이터를 Word 및 Excel 형식으로 다운로드하고 Word 템플릿에 병합 필드가 포함되어 있는지 확인하고 이전 섹션에서 설명한 알고리즘과 유사한 C++ 에서 메일 병합 작업을 수행하기만 하면 됩니다.

이 강력한 Mail merge 웹 도구를 사용하려면 위에 설명된 대로 Excel에서 변환된 특수 병합 필드와 데이터가 있는 Word 템플릿을 로드하십시오. 코드를 실행한 후 C++ 을 사용하여 결과를 원하는 형식으로 내보냅니다.

다음 예제는 Mail merge 작업을 수행하여 C++ 에서 Word 문서를 생성하는 방법을 보여줍니다.

C++ 에서 docx 템플릿을 사용하여 Mail merge 작업 실행
Mail merge 템플릿 업로드
코드 실행
Mail merge 데이터 업로드
목록에서 대상 형식 선택
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;
};
코드 실행

docx 파일에서 Mail merge 을 사용하는 방법

  1. Aspose.Words for C++ 설치합니다.
  2. C++ 프로젝트에 라이브러리 참조를 추가합니다(라이브러리 가져오기).
  3. 병합 필드가 있는 docx 병합 템플릿을 만듭니다.
  4. C++ 에서 템플릿 파일을 엽니다.
  5. 병합 필드와 해당 값을 전달하여 Execute() 메서드를 호출합니다.
  6. Save() 메서드를 호출하여 필요한 확장자를 가진 출력 파일 이름을 전달합니다.
  7. Mail merge 작업 결과를 Word 파일로 가져옵니다.

docx 에서 Mail merge 을 사용하는 C++ 라이브러리

개발자 환경에 Aspose.Words for C++ 를 설치하는 세 가지 옵션이 있습니다. 귀하의 요구 사항과 유사한 것을 선택하고 단계별 지침을 따르십시오.

시스템 요구 사항

이 C++ 라이브러리를 사용하여 Microsoft Windows, Linux 및 macOS 운영 체제에서 소프트웨어를 개발할 수 있습니다:

  • GCC >= 6.3.0 및 Clang >= 3.9.1 이 필요합니다.
  • Xcode >= 12.5.1, Clang 및 libc++ 가 필요합니다.

Linux 또는 macOS용 소프트웨어를 개발하는 경우 제품 설명서 fontconfig 및 mesa-glu 오픈 소스 패키지)에 대한 정보를 확인하십시오.

기타 지원되는 파일 형식

다른 파일 형식에 대해 Mail merge 작업을 수행할 수 있습니다.

5%

Aspose 제품 업데이트 구독

월간 뉴스레터와 제안을 우편함으로 직접 받으십시오.

© Aspose Pty Ltd 2001-2024. 판권 소유.