0
我正在使用C#Interop生成单词报告。我正在尝试生成一系列填充了数据库数据的表。表格后面应有一个描述表格中数据的文字。这是需要的布置如下:在表结尾处生成文本
该报告是基于模板和表和相应的细节是基于被插入到模板书签生成。问题是,当我尝试在表格后填充文本时,文本将插入到下一页的开头。以下是我用来填充表格的代码片段。
foreach (var obj in list)
{
Table vulTable = detailsRange.Tables.Add(detailsRange, 1, 2, ref oMissing, ref oMissing);
vulTable.PreferredWidthType = WdPreferredWidthType.wdPreferredWidthPercent;
vulTable.Range.InsertBefore("Text");
vulTable.Range.Font.Size = 12;
vulTable.Borders.InsideLineStyle = WdLineStyle.wdLineStyleSingle;
vulTable.Borders.OutsideLineStyle = WdLineStyle.wdLineStyleSingle;
Row r1 = vulTable.Rows.Add(ref oMissing);
//Table generation logic to generate other rows
detailsRange.InsertBreak(WdBreakType.wdColumnBreak);
object strt = vulTable.Range.End;
Range r = doc.Range(ref strt, ref strt);
Paragraph p = r.Paragraphs.Add(ref oMissing);
p.Range.InsertAfter("Details ABCD");
p.Range.InsertBreak(WdBreakType.wdColumnBreak);
p.Range.Bold = 1;
p.Range.Underline = WdUnderline.wdUnderlineSingle;
p.Range.InsertParagraphAfter();
}
正如上面的代码的结果,“详细信息ABCD”的文本是越来越在下页的开始,而不是表的继续填充。除了使用当前范围的结尾插入细节部分之外,还应该进行哪些修改或采取其他方法?任何帮助,高度赞赏。
你为什么要插入2个wdColumnBreak类型划分?也许你打算插入两个连续类型的中断? (虽然我不知道你为什么要他们。) – 2016-07-23 15:05:34