Ms word 在运行word automation services后,表格文本将获得额外的间距

Ms word 在运行word automation services后,表格文本将获得额外的间距,ms-word,sharepoint-2013,openxml,docx,word-automation-service,Ms Word,Sharepoint 2013,Openxml,Docx,Word Automation Service,我从一堆模板文档生成了一个文档,此外,我还添加了一些表格,如htmlaltChunks(因为这比使用OpenXML创建表格容易得多)。这一切都很好,给了我想要的结果。但是,由于某些版本的Word(特别是在Mac上)处理altChunk的方式存在一些缺陷,并且无法自动更新TOC,我们决定将其设置为通过Sharepoint中的Word automation services运行我们的报告。因此,我们像以前一样生成文档,然后通过word automation将altChunk扁平化为单个文档并更新TO

我从一堆模板文档生成了一个文档,此外,我还添加了一些表格,如html
altChunk
s(因为这比使用OpenXML创建表格容易得多)。这一切都很好,给了我想要的结果。但是,由于某些版本的Word(特别是在Mac上)处理
altChunk
的方式存在一些缺陷,并且无法自动更新TOC,我们决定将其设置为通过Sharepoint中的Word automation services运行我们的报告。因此,我们像以前一样生成文档,然后通过word automation将
altChunk
扁平化为单个文档并更新TOC

这解决了我们所有的兼容性问题并更新了TOC,但不幸的是,还有一个副作用。我们的表格现在在文本上方和下方增加了空间,使表格比以前更长。这以前不是一个问题,即使我们打开文档并在Word中重新保存(因此将所有
altChunk
s整平),这似乎是Word自动化特有的问题

以前有人见过这个吗?有没有办法,使用包含表格的HTML
altChunk
强制word automation不要弄乱我的表格

编辑:如果我在Word中选择有问题的表格,并选择“行和段落间距”主选项卡,然后我可以选择“删除段落后的空格”将表格折叠回原来的状态。因此,似乎Word Automation Services希望在表中的段落后添加空格,而Word本身却不这样做。有人知道怎么阻止吗

他是这些表格在HTML中的一个非常简单的例子:

表格{
字号:0.8em;
边界塌陷:塌陷;
字体系列:calibri,无衬线
}
标题{
字号:1.05em;
字体大小:粗体;
背景色:透明;
}
tbody td{
边框:实心#90901px;
字号:0.9em;
}
thead th{
边框宽度:0 1px 0 1px;
边框样式:实心;
边框颜色:#909090;
}
.表格附注{
字号:6pt;
字体系列:arial,无衬线;
}
tbody td{
文本对齐:居中;
}
thead th{
背景色:#98a5b5;
}
.节头{
字体大小:粗体;
文本对齐:左对齐;
背景色:#becfe3;
}

可乐
可乐
可乐
可乐
可乐
可乐
可乐6
可乐
第一节
4.
4.
4.
4.
4.
4.
4.
2.

在跌跌撞撞地尝试了使用
css
边距
填充
附加到各种元素的不同组合后,我决定做一些完全违反直觉的事情,并尝试将单元格的内容包装在
p
标记中。我在想,我可能可以通过这种方式在
td
内的
p
上显式设置边距。因此:

<td class="col0">4</td>
4
变成这样:

<td class="col0"><p>4</p></td>
4

令人惊讶的是,它确实有效!没有我实际添加任何针对那些
p
标记的CSS。当然,这是违反直觉的,因为如果使用原始HTML这样做,由于
p
标记上的默认边距,最终会在单元格中的文本周围添加更多的空间,但在这里它实际上会删除它

这似乎是Word Automation Services解释HTML
altChunk
的方式中的一个缺陷,而不是Word本身的解释方式