【发布时间】:2017-03-04 05:20:03
【问题描述】:
我正在做一个需要来自 word 模板的报告的项目。没有数据时,我需要删除表头和边框。我尝试了很多方法,但都在工作。
我的模板如下:
输出如下:
我想删除第 2 点的表格设计。
我的代码如下所示
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);
【问题讨论】:
-
您似乎无法在此论坛中附加文件。我们需要最终测试这个场景。所以,请在Aspose.Words forum 中创建一个新帖子。请压缩并附上您的 1) 输入 Word 文件,2) Aspose.Words 生成的输出 Word 文档,3) 您的预期 Word 文档和简化的控制台应用程序(没有编译错误的源代码)在您的线程中进行测试。我们将调查我们最终的情况并为您提供更多信息。我与 Aspose 一起担任开发人员宣传员。
标签: .net ms-word tabular mailmerge aspose