Добавление двух таблиц в текстовый документ непосредственно друг на друга - PullRequest
4 голосов
/ 09 марта 2012

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.Важно отметить, что для удаления абзаца в слове необходимо нажать «Удалить», а не «Забой».Я думаю, что это важный совет, чтобы найти правильный ответ.

The top picture is the result of the above code, the bottom picture is what I want.

В этом примере создается впечатление, что я хочу сделать что-то, что можно сделать с одной таблицей, но реальное приложение работает по-разному и требует двух разных таблиц, на которые накладываютсядруг на друга.

1 Ответ

1 голос
/ 09 марта 2012

Я бы попробовал использовать этот Lib http://docx.codeplex.com/ Я нашел это некоторое время назад, выглядит намного проще в использовании, чем com

Вы всегда можете использовать openxml SDK для офиса, но я подозреваю, что docx будет проще

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

...