2016-04-08 98 views
0

我填一个表格单元格一行行用一个RichTextBox的内容与此代码:在C#中删除Word文档中的段落之间行距

int length = richTextBoxes[0].Lines.Length; 
for (int index = 1; index < length; index++) { 
    table.Cell(3, 2).Range.Text += richTextBoxes[0].Lines[index].ToString(); 
} 

但它粘贴文本之前自动传递一个奇怪的行,每行之间的段落之间有这么大的间距,我想知道是否有可能删除它。

谢谢

+0

当我重新读这个时,我发现你看到的问题可能是由于应用于表格的* style *造成的。如果是这种情况,那么将效率更高(并且从Word POV中更正),以将正确样式应用于表/单元格,而不是直接应用格式。 (也加入了这个到我的“答案”) –

+0

你最后的回答对我来说足够好,但这可能会帮助其他人!所以,谢谢 – UnderPaidIntern

回答

0

若要更改文本单元段落的行距:

table.Cell(3,2).Range.Paragraphs.LineSpacing 

如果没有,你应该使预期的效果肯定行距的问题,而不是一些字符码字ISN没有处理你期望的方式。 在表格单元格中输入行,而不按Enter键,看看它们是否展现出与您在代码中看到的行为相同的行为。如果没有,那么你的代码是导入你需要“切断”的东西...

你看到的问题可能是由于风格适用于表。如果是这种情况,那么将效率更高(并且从Word POV中更正),以将正确样式应用于表/单元格,而不是直接应用格式。

0

我相信你正在使用Microsoft.Office.Interop.Word组装?

如何设置LineSpacingParagraph接口?这是一个浮动类型。

它可以在LineSpacingRule之后设置属性设置为以下值之一:wdLineSpaceAtLeast,wdLineSpaceExactlywdLineSpaceMultiple

我希望它有帮助。

+0

是的,我使用的是Interop.Word。非常感谢Alex,但document.Paragraphs.LineSpacing适用于整个文档,不是吗?是否只有特定表格单元的解决方案? – UnderPaidIntern

+0

@UnderPaidIntern你不能得到一个特定段落的实例吗?就像在Word中一样,您可以为给定的段落设置行间距。你应该可以在代码中做同样的事情。顺便说一句酷昵称 – Alex

+1

谢谢,我设法找到解决方案! – UnderPaidIntern