前言
最近的项目中需要应用到根据Wrod模板导出文档的需求,一个很实用的功能。下面就来分享一下我的实现过程:
内容
环境:Asp.Net 添加:Aspose.Words Dll文件的引用
步骤一:制作Wrod模板
通过编辑域来设置我们要绑定的字段。
步骤二:获取需要插入的数据
string tempPath = HttpContext.Current.Server.MapPath("~/templates/Temp_Interview.docx");
const string saveFold = "Word/";
string outputPath = HttpContext.Current.Server.MapPath("~/" + saveFold);
if (!Directory.Exists(outputPath))
Directory.CreateDirectory(outputPath);
string fileName = model.ID + model.AppName + ".docx";
outputPath += fileName;
//载入模板
Document doc = new Document(tempPath);
// -用户基本信息-
String[] fieldNames = new String[]
{
"UserId",
"AppName",
"Sex",
"BirthDate",
};
Object[] fieldValues = new object[fieldNames.Length];
fieldValues[0] = model.ID;
fieldValues[1] = model.AppName;
fieldValues[2] = model.Sex;
fieldValues[3] = model.BirthDate;
doc.MailMerge.Execute(fieldNames, fieldValues);
步骤三:导入数据并设置保存路径
//获取下载地址
String StrVisitURL = GetVisitURL() + saveFold + fileName;
//合并模版,相当于页面的渲染
doc.MailMerge.Execute(new[] { "PageCount" }, new object[] { doc.PageCount });
//保存合并后的文档
doc.Save(outputPath);
return StrVisitURL;
小结
这样我们就可以根据获取到的数据填入到设置好的模板中啦,实现的过程并不难,主要是其中的方法以及AsposeWords的调用。下一篇文章我将继续深入应用和大家分享关于多条数据动态导入Word的实现方案。荣幸与您分享!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/144269.html