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, 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, 1, 1, ref missing, ref missing);
table.Borders.Enable = 1;
document.Save();
var doc_close = (Microsoft.Office.Interop.Word._Document)document;
doc_close.Close();
Marshal.ReleaseComObject(document);
上图显示了上述代码的结果。我想删除两个表之间的段落,但不知道如何使用com对象。需要注意的一件重要事情是,要删除单词中的段落,您必须按“删除”而不是“退格”。我认为这是找到正确答案的重要提示。
这个例子让我觉得我想做一些可以用单个表完成的事情,但是实际的应用程序工作方式不同,需要两个不同的表堆叠在一起。
答案 0 :(得分:1)
我会尝试使用这个Lib http://docx.codeplex.com/我发现它回来看起来比com更容易使用
您也可以随时使用openxml SDK for office,但我怀疑docx会更容易
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=5124