首页 > 编程知识 正文

C# 使用Aspose.Word将Word书签的数据进行替换 包含打印

时间:2023-05-05 02:04:03 阅读:274629 作者:892

C# 使用Aspose.Word将Word书签的数据进行替换

今天公司要求根据Word模板导出数据。
废话不多说直接上干货。

标红区域是加入书签的位置!

//静态方法public static void Print(NFISettleReportInfo info) { //获取模板路径 var stream = string.Format("D:\Word\模板.docx"); //读取文件 Document doc = new Document(stream); DocumentBuilder builder = new DocumentBuilder(doc); //这里是采用键值对的方式来存储 Word文件的书签名与对象中的值 Dictionary<string, string> dic = new Dictionary<string, string>(); //这里利用反射的机制来获取对象的属性名与值 foreach (PropertyInfo item in info.GetType().GetProperties()) { dic.Add(item.Name, (string)item.GetValue(info,null)); } //循环键值对 foreach (var key in dic.Keys) { //将光标移入书签的位置 builder.MoveToBookmark(key); //填充值 builder.Write(dic[key]); } //保存word doc.Save(stream); //如果需要打印 解开以下注释代码 //链接默认的打印机可以根据数据流直接将数据打印出来 //doc.Print(); }

使用Aspose.Word是建议不要从NuGet中下载,保存的Word模板会存在水印,需要的请留言

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。