string templateFile = Server.MapPath("User_tmplt.doc");

string savePath = Server.MapPath("User.doc");
 
Aspose.Words.Document doc = new Aspose.Words.Document(templateFile);
Aspose.Words.DocumentBuilder builder = new Aspose.Words.DocumentBuilder(doc);
 
//表数据
DataTable nameList = new DataTable();
nameList.Columns.Add("编号");
nameList.Columns.Add("姓名");
nameList.Columns.Add("时间");
DataRow row = null;
for (int i = 0; i < 3; i++)
{
    row = nameList.NewRow();
    row["编号"] = i.ToString().PadLeft(4, '0');
    row["姓名"] = "菜鸟程序员 " + i.ToString();
    row["时间"] = DateTime.Now.ToString();
    nameList.Rows.Add(row);
}
 
//获取表头的单元格的宽度
List<double> widthList = new List<double>();
for (int i = 0; i < nameList.Columns.Count; i++)
{
    builder.MoveToCell(0, 0, i, 0); //移动单元格
    double width = builder.CellFormat.Width;//获取单元格宽度
    widthList.Add(width);
}
 
builder.MoveToBookmark("table");        //开始添加值
for (var i = 0; i < nameList.Rows.Count; i++)
{
    for (var j = 0; j < nameList.Columns.Count; j++)
    {
        builder.InsertCell();// 添加一个单元格                   
        builder.CellFormat.Borders.LineStyle = LineStyle.Single;
        builder.CellFormat.Borders.Color = System.Drawing.Color.Black;
        builder.CellFormat.Width = widthList[j];
        builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None;
        builder.CellFormat.VerticalAlignment = CellVerticalAlignment.Center;//垂直居中对齐
        builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
        builder.Write(nameList.Rows[i][j].ToString());
    }
    builder.EndRow();
}
doc.Range.Bookmarks["table"].Text = "";    // 清掉标示 
 
doc.Save(savePath);