是不是很简单?好了,下面我们来看看文章开头所讲的如何动态生成word表格。
Aspose.Words对word文档对象中的操作。在生成表格上有点类似二维数组。还记得需求说的“表格列数由用户控制吗”,所以我们要在模板上定义一个含有表头的表格,这里要画出您数据表中可以显示的所有列头,这样做主要是考虑到用户可以自己去减少不需要显示列头。这里要注意,书签和列头文字的顺序不能颠倒,大家看下面代码就知道了。如下图:
灰色的部分就是bookmark了。Aspose.Words生成表格的原理就如同一个二维数组,也就是一个个单元格的去生成。我们来看看代码部分是如何实现的:
DocumentBuilder builder = new DocumentBuilder(doc);
DataTable products = this.GetData(); //数据源
int count = 0;
//记录要显示多少列
for (var i = 0; i < products.Columns.Count; i++)
{
if (doc.Range.Bookmarks[products.Columns[i].ColumnName.Trim()] != null)
{
Bookmark mark = doc.Range.Bookmarks[products.Columns[i].Colu