我要在Word文档中插入表格,该文档中除标题外,文档不包含任何内容:
using (var doc = WordprocessingDocument.Open(targetfile, true))
{
var body = doc.MainDocumentPart.Document.Body;
var table = new Table();
foreach (var package in consignment.Packages)
{
// Build the table rows here
}
doc.MainDocumentPart.Document.Append(table);
doc.MainDocumentPart.Document.Save();
doc.Save();
}
它运作良好,但是当我打开文档时,我看到文档的开头有一个回车符,因此我必须删除它以删除空格:
烦人的空间以黄色突出显示,标题的底部在上方,我的表格在下方。
如何使OpenXML不这样做?即将表格插入文档顶部,而不是在回车符之后
请注意,模板docx中没有回车符
答案 0 :(得分:2)
表格不在文档顶部的原因是:1)文档始终至少包含一个段落; 2)表格正被附加(意思是“最后”)。
相反,将表插入第一段之前,如下所示:
var body = doc.MainDocumentPart.Document.Body;
var table = new Table();
foreach (var package in consignment.Packages)
{
// Build the table rows here
}
Paragraph firstPara = doc.Body.Descendants<Paragraph>().First();
body.InsertBefore(table, firstPara);
请注意,表格后将有一个段落标记-Word要求此标记才能存储有关表格的信息。 (主要是它在页面上的位置。)