2013-12-18 3 views
6

У меня есть шаблон слова с таблицей, которую я заполняю из списка строк, которые я разделяю с помощью символов табуляции.Добавьте строку в таблицу MS Word, используя Office.Interop

Я не знаю, сколько строк текста у меня будет, поскольку оно будет меняться.

Так я добавляю строки программно перед тем перебор моей петли так:

oWordDoc.Tables[2].Rows.Add(oWordDoc.Tables[2].Rows[1]); 

К сожалению, это добавляет строку, прежде чем после текущей строки.

Как я могу изменить свой код, чтобы всегда иметь пустую строку, добавленную после текущей строки?

ответ

5

Оставьте значение параметра как отсутствующее значение для Row.Add функции

object oMissing = System.Reflection.Missing.Value;   
// get your table or create a new one like this 
// you can start with two rows. 
Microsoft.Office.Interop.Word.Table myTable = oWordDoc.Add(myRange, 2,numberOfColumns) 
int rowCount = 2; 
//add a row for each item in a collection. 
foreach(string s in collectionOfStrings) 
{ 
    myTable.Rows.Add(ref oMissing) 
    // do somethign to the row here. add strings etc. 
    myTable.Rows.[rowCount].Cells[1].Range.Text = "Content of column 1"; 
    myTable.Rows[rowCount].Cells[2].Range.Text = "Content of column 2"; 
    myTable.Rows[rowCount].Cells[3].Range.Text = "Content of column 3"; 
    //etc 
    rowCount++; 
} 

Я не проверял этот код, но должен работать. ..

3

я нашел его, он должен быть:

Object oMissing = System.Reflection.Missing.Value; 
oWordDoc.Tables[2].Rows.Add(ref oMissing); 
Смежные вопросы