如果在创建书签,然后在书签位置插入表格,会出现格式错乱,在单元格位置里面有一个表格,不符合实际使用。正确做法是复制模板文件里面的表格行,然后插入若干行。
如图标记红色位置插入动态数据行,是先复制标记位置的行,然后预先插入若干空行,最后来填充数据。
//读取word
string wordTempPath = Path.Combine(AppContext.BaseDirectory, "WordTemplate", "template_report.docx");
Aspose.Words.Document doc = new Aspose.Words.Document(wordTempPath);
Aspose.Words.DocumentBuilder builder = new Aspose.Words.DocumentBuilder(doc);
//找到表格
var nodeList = doc.GetChildNodes(nodeType: NodeType.Table, true);
var table = nodeList[0] as Aspose.Words.Tables.Table;
for (int i = 0; i < 16; i++)
{
//复制一行
var rowNew = table.Rows[5].Clone(true);
table.Rows.Insert(6 + i, rowNew);
}
//找到指定位置单元格,写入数据
builder.MoveToCell(0, 5, 0, 0);
builder.Write("测试数据");
builder.MoveToCell(0, 5, 1, 0);
builder.Write("李斯");