我有一个问题,在我的应用程序即时操作word文件中添加行到我现有的表 . 在我的模板(word文件)中,已经有一个包含8行的表,不包括 Headers (你可以在图片中看到),在我的应用程序中构建一个新的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++)
正如我在下面所做的那样,我得到了这张表:如图所示,行中没有单元格和边框,也许这就是我不知道的问题 .
1 回答
我发现了这个link
特别是关于的部分
this.Tables[1].set_Style("Table Grid 8");
尝试风格部分 .
另外,这个link,显示了一个完整的例子,它使用了
看起来像你在找什么:)
干杯
eiran