微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 将两个表直接添加到word文档中

Word具有此功能,它合并插入在一起的表,因此要添加两个单独的表,您必须在它们之间放置一个段落.这一直运作良好,但现在我需要在将表格分开后使段落消失,以便它们彼此叠加.

var document = GetDocument(word,@"C:\Blank.docx");
object missing = System.Reflection.Missing.Value;

var paragraph = document.Paragraphs.Add(ref missing);
paragraph.Range.Text = "..."; 

var table = document.Tables.Add(paragraph.Range,1,ref missing,ref missing);
table.Borders.Enable = 1;

paragraph.Range.Collapse(Microsoft.Office.Interop.Word.WdCollapseDirection.wdCollapseEnd);
paragraph.Range.InsertParagraphAfter();
paragraph.Range.Collapse(Microsoft.Office.Interop.Word.WdCollapseDirection.wdCollapseEnd);

paragraph = document.Paragraphs.Add(ref missing);
paragraph.Range.Text = "...";
table = document.Tables.Add(paragraph.Range,ref missing);
table.Borders.Enable = 1;

document.Save();

var doc_close = (Microsoft.Office.Interop.Word._Document)document;
doc_close.Close();

Marshal.ReleaseComObject(document);

上图显示了上述代码的结果.我想删除两个表之间的段落,但不知道如何使用com对象.需要注意的一件重要事情是,要删除单词中的段落,您必须按“删除”而不是“退格”.我认为这是找到正确答案的重要提示.

这个例子让我觉得我想做一些可以用单个表完成的事情,但实际的应用程序工作方式不同,需要两个不同的表堆叠在一起.

解决方法

我会尝试使用这个Lib http://docx.codeplex.com/我发现它回来看起来比com更容易使用

您也可以随时使用openxml SDK for office,但我怀疑docx会更容易

http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=5124

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐