2014-10-21 2 views
1

MailMerge interface을 사용하여 C#에서 편지 병합받는 사람과 해당 레코드를 동적으로로드하려고합니다. HeaderRecord에 쉼표로 구분 된 문자열을주는 MailMerge.CreateDataSource 메서드를 사용하여 머리글을로드했습니다. 이 필드는 Word를 실행할 때 나타나지만 문제는 레코드 채우기 방법을 찾을 수 없다는 것입니다. 현재 내가 어떻게이 다음 CSV 파일을 만들고이 데이터 소스를로드 할 수 MailMerge.OpenDataSource 방법을 사용하고있는 중이 야 : 내 요구 사항은 메신저 비슷한 일을 할 것입니다 뭔가를 찾고, 외부 파일을 생성하지 않고 데이터를로드하는 것입니다 MS Word 병합 필드 레코드 프로그래밍 방식으로

Name, Age, Gender, Country, Email 
Dummy1, Male, 20, England, [email protected] 
Dummy2, Male, 21, Spain, [email protected] 
Dummy3, Male, 22, France, [email protected] 

받는 사람 :

MailMerge.AddRecord("Dummy1, Male, 20, England, [email protected]") 

도움이 매우 감사합니다. 감사합니다

+0

이것이 동일한 질문인지는 모르겠지만 여기의 토론이 도움이 될 수 있습니다. http://stackoverflow.com/questions/11843694/is-it-possible-to-write-a-word-add -in-or-something-similar-to-a-custom-m/11854434 # 11854434 –

답변

1

제 조언은 OpenXML과 함께 완전히 관리되는 .NET 솔루션을 사용하는 것입니다. OpenXML은 학습 곡선이 가파르므로 이러한 접근 방식을 사용하는 툴킷을 찾는 것이 좋습니다.

저는 Docentric Toolkit에 대한 좋은 경험이 있습니다. 나는 이것을 3 년 동안 사용 해왔다.

장점 : : 그래서 여기 장단점이

  • 일반 간단한 단어 추가 기능 템플릿 생성을 위해 이미지, 데이터 바인딩 그래프의
  • OpenXML을 기반으로, 서버 측 친화적
  • 지원, 테이블
  • 템플릿
  • 조건 요소는 헤더 에 자리과 바닥 글에 대한 지원을
  • 매우 빠른 보고서 생성

단점 : PDF 출력을위한

  • 여유
  • 지원은 여전히 ​​다소 제한됩니다.

코드 프로젝트에서 this article을 볼 수 있습니다.이 템플릿을 사용하여 XML, 데이터베이스, 메모리, ... 등의 데이터를 적절한 템플릿으로 병합하는 방법에 대한 첫인상을 얻을 수 있습니다.

관련 문제