Aspose.Words 随笔

//加载文档

 Document doc = new Document(Server.MapPath("~/ExportTemplate/CLAAS/ServiceReport.doc"));

//保存

SetData(doc);

doc.Save(Page.Response, "C010.doc", ContentDisposition.Attachment, null);
doc.Clone();

 

 

private void SetData(Document doc)
{

DocumentBuilder builder = new DocumentBuilder(doc);
DataTable products = GetTable(); //数据源
builder.MoveToDocumentEnd();
// 下划线不设置
builder.Font.Underline=Underline.None;
//开始表格
Aspose.Words.Tables.Table table = builder.StartTable();

builder.RowFormat.Alignment = RowAlignment.Center;
builder.CellFormat.Borders.LineStyle = LineStyle.Single;



List<string> listcolumn = new List<string>(products.Columns.Count);
for (var i = 0; i < products.Columns.Count; i++)
{
listcolumn.Add(products.Columns[i].ColumnName.Trim());
if (i == 0)
{
//添加表格
builder.InsertCell();
builder.Write("维修信息:");
//对其方式
builder.CellFormat.HorizontalMerge = CellMerge.Previous;
}
else
{
builder.InsertCell();
builder.Write("");
builder.CellFormat.HorizontalMerge = CellMerge.None;
}

}
builder.EndRow();
//表格对其方式
table.AutoFit(Aspose.Words.Tables.AutoFitBehavior.AutoFitToWindow);

#region##循环表头
foreach (string HeadName in listcolumn)
{
builder.InsertCell();
builder.Write(HeadName);


}
builder.EndRow();

#endregion

#region##循环数据
foreach (DataRow ro in products.Rows)
{
foreach (string HeadName in listcolumn)
{
builder.InsertCell();
builder.Write(ro[HeadName].ToString());

}
builder.EndRow();
}
#endregion


builder.EndTable();

posted @   太太怕我  阅读(907)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示