gpt4 book ai didi

c# - OpenXML 在文档顶部或表格之前插入烦人的回车符

转载 作者:行者123 更新时间:2023-11-30 22:57:49 25 4
gpt4 key购买 nike

我正在向一个 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();
}

它运行良好,但是当我打开文档时,我可以看到文档开头有一个回车符,所以我必须删除它以删除空格:

enter image description here

恼人的空间以黄色突出显示,上面是标题的底部,下面是我的表格。

我怎样才能让 OpenXML 不这样做? IE。在文档的顶部插入表格,而不是在回车之后

请注意,模板 docx 中没有回车符

最佳答案

表格不在文档顶部的原因是: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 需要这样做才能存储有关表格的信息。 (主要是它在页面上的位置。)

关于c# - OpenXML 在文档顶部或表格之前插入烦人的回车符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53376847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com