2017-03-04 8 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

あなたはこのフォーラムでファイルを添付することができないように見えます。このシナリオを最後までテストする必要があります。だから、[Aspose.Words forum](https://www.aspose.com/community/forums/aspose.words-product-family/75/showforum.aspx)に新しい投稿を作成してください。あなたの1)入力Wordファイル、2)Aspose.Words生成出力Word文書、3)予想されるWord文書、単純化されたコンソールアプリケーション(コンパイルエラーのないソースコード)をテスト用のスレッドに添付してください。私たちは最後にシナリオを調査し、より多くの情報を提供します。私はAsposeとDeveloper Evangelistで働いています。 –

答えて

関連する問題