我有一个在现有表格中添加行的问题, 在我的应用程序中我操纵word文件。 在我的模板(word文件)中,已经有一个包含8行的表,不包括标题(你可以在图片中看到),在我的应用程序中构建一个新的word文件时,有时我想在表中添加更多行,因为我有更多数据要插入(来自dataGridView的数据)。就像在下面的代码中,我根据我的datagridview有多少行添加行,问这个:
using (DocX document = DocX.Load(filename))
{
int k = 0;
Table t = document.Tables[0];
// Specify some properties for this Table.
t.Alignment = Alignment.right;
if (howManyRows > t.RowCount)
{
int x = howManyRows - t.RowCount;
for (int i = 0; i < x; i++)
{
Row row = t.InsertRow();
}
}
我也尝试过:t.InsertRow();
然后我在我的dataGridView的word文件中填充我的表,然后我得到一个未处理的异常 - 索引超出范围,这没有任何意义,因为如果我不添加行,只需用相同的行填充表使用相同代码的数字,我没有异常,表格工作正常,这是我从dataGridView的字符串列表中填充的代码:
for (int i = 1; i <=howManyRows; i++)
{
for (int j = 4; j >= 0; j--)
{
t.Rows[i].Cells[j].Paragraphs.First().Append(dataFromDataGrid[k]).FontSize(11).Font(new FontFamily("Arial"));
k++;
}
}
document.Save();
我认为我不需要添加行,因为如果我在循环中运行直到:
for (int i = 1; i <howManyRows; i++)
不喜欢:
for (int i = 1; i <=howManyRows; i++)
正如我在下面所做的那样,我得到了这张表:如图所示,行中没有单元格和边框,也许这就是我不知道的问题。