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);