2017-03-04 1 views
0

나는 워드 템플릿의 보고서가 필요한 프로젝트 작업 중입니다. 데이터가 없을 때 표 머리글과 테두리를 제거해야합니다. 나는 여러 가지 방법을 시도해 보았지만 그 중 하나를 작업했다. 다음과 같은에서표 머리글 및 테두리 제거 Aspose word .NET

내 템플릿 :

Output

내가 2

내 코드는 점에서 테이블 디자인을 제거하려면 :

Input

출력은 다음과 같다 아래처럼

DataTable dtPersonalInfo = new dalCoro_Report().GetNonEffCertPersonalInfo(MemberID); 
     DataTable dtUnitAppt = new dalCoro_Report().GetNonEffCertExperienceUnitAppt(MemberID); 
     DataTable dtCourseInfo = new dalCoro_Report().GetNonEffCertExperienceCourse(MemberID); 
     DataTable dtMedalInfo = new dalCoro_Report().GetNonEffCertExperienceMedal(MemberID); 
     DataTable dtUnMissionInfo = new dalCoro_Report().GetNonEffCertUN_MSN(MemberID); 

     if (dtPersonalInfo.Rows.Count == 0) 
      return; 

     var fileName = "ExperienceCert_" + dtPersonalInfo.Rows[0]["PersonalNo"] + ".doc"; 
     var input = Server.MapPath(@"~\Coro_Report\Template\Certificates\6. Experience Cert2.doc"); 
     var output = Server.MapPath(@"~\Coro_Report\Report\" + fileName); 

     var doc = new Document(input); 


     dtPersonalInfo.TableName = "PersonalInfo"; 
     doc.MailMerge.ExecuteWithRegions(dtPersonalInfo); 

     if (dtUnitAppt.Rows.Count > 0) 
     { 
      doc.MailMerge.TrimWhitespaces = false; 

      dtUnitAppt.TableName = "UnitAppt"; 
      //doc.MailMerge.ExecuteWithRegions(dtUnitAppt); 
     } 

     if (dtCourseInfo.Rows.Count > 0) 
     { 
      doc.MailMerge.TrimWhitespaces = false; 

      dtCourseInfo.TableName = "Course"; 
      doc.MailMerge.ExecuteWithRegions(dtCourseInfo); 
     } 
     else 
     { 
      doc.MailMerge.RemoveEmptyRegions = true; 
     } 

     if (dtMedalInfo.Rows.Count > 0) 
     { 
      doc.MailMerge.TrimWhitespaces = false; 

      dtMedalInfo.TableName = "Medal"; 
      doc.MailMerge.ExecuteWithRegions(dtMedalInfo); 
     } 

     if (dtUnMissionInfo.Rows.Count > 0) 
     { 
      doc.MailMerge.TrimWhitespaces = false; 
      dtUnMissionInfo.TableName = "UnMission"; 
      doc.MailMerge.ExecuteWithRegions(dtUnMissionInfo); 
     } 


     doc.MailMerge.CleanupOptions = MailMergeCleanupOptions.RemoveUnusedRegions | MailMergeCleanupOptions.RemoveUnusedFields | MailMergeCleanupOptions.RemoveContainingFields | MailMergeCleanupOptions.RemoveEmptyParagraphs; 

     doc.MailMerge.DeleteFields(); 

     //Save the document 
     doc.Save(output); 

     ViewReport(fileName); 
+0

것 같습니다 :

그럼 당신은 그것을이 Templater에서 해결 어떻게 같은 방법으로 해결할 수, 당신은 예를 볼 수 있습니다. 우리는이 시나리오를 끝까지 테스트해야합니다. 따라서 [Aspose.Words 포럼] (https://www.aspose.com/community/forums/aspose.words-product-family/75/showforum.aspx)에서 새 게시물을 만드십시오. 테스트를 위해 1) 입력 Word 파일, 2) Aspose.Words 생성 출력 Word 문서, 3) 예상 Word 문서 및 간단한 콘솔 응용 프로그램 (컴파일 오류가없는 소스 코드)을 첨부하여 첨부하십시오. 우리는 우리 시나리오를 조사하고 더 많은 정보를 제공 할 것입니다. 저는 Aspose와 Developer Evangelist로 일합니다. –

답변