使用for循环在DocX中添加表

时间:2013-11-17 13:47:48

标签: c# list docx

我是应用程序开发,它有一个输出Microsoft Word文档。我使用库docx。我有一个表,我需要插入List<>。

中的数据

手动 - 工作

Table t = document.AddTable(20,2);
t.Rows[0].Cells[0].Paragraphs.First().Append(listItem[0]);
t.Rows[1].Cells[0].Paragraphs.First().Append(listItem[1]);
t.Rows[2].Cells[0].Paragraphs.First().Append(listItem[2]);

我有20个数据,我不希望手动发布,所以我尝试使用For循环,但不知何故它不起作用。

使用For - 不起作用

for (int i = 0; i == 19; i++)
{              
    t.Rows[1 + i].Cells[0].Paragraphs.First().Append(listItem[i]);
}

document.InsertTable(t);

2 个答案:

答案 0 :(得分:1)

试试这个:

for (int i = 0; i <= 19; i++)
{              
    t.Rows[i].Cells[0].Paragraphs.First().Append(listItem[i]);
}

document.InsertTable(t);

此处,t.Rows的索引编号为0到19,这也是您手动操作的方式。

答案 1 :(得分:1)

使其更少依赖于静态行数:

Table t = document.AddTable(listItem.Length, 2);
for (int i = 0; i <= listItem.Length; i++)
{              
    t.Rows[i].Cells[0].Paragraphs.First().Append(listItem[i]);
}
document.InsertTable(t);

或使用AddRow功能。