C# Aspose word 替换指定键值数据

发布时间:2017-5-23 7:32:33 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"C# Aspose word 替换指定键值数据 ",主要涉及到C# Aspose word 替换指定键值数据 方面的内容,对于C# Aspose word 替换指定键值数据 感兴趣的同学可以参考一下。

今天研究一天的导出word,一开始准备选用为软件自带的office,但是有局限性,机子上必须安装office才能使用,最后在网上搜了一下资料aspose开源的

小公司没得钱,你懂得。最后选择了这款 开源地址:http://www.oschina.net/p/aspose-words/similar_projects?lang=25&sort=time

在网上找了一个例子是webform的,而现在使用的是mvc来开发,解决这个aspose在mvc中如何使用费劲了功夫。下面我写一下项目中如何使用到的。

项目需要导出数据到word中,因为要导出的是表格形式,所以先在word中绘制好了表格,然后按照以前的代码改了改,发现不行。出现的问题如下:


这是当时的代码,问题的症结所在就是Response上。这段代码以前是写在asp.NET中的。在asp.Net中,Response使用的是HttpResponse,但是该项目为Mvc架构,Mvc中为HttpResponseBase,二者不能兼容,不能强制转换。问题一直无法得到解决。

所以就改变了代码:如下。

 1
 1         public ActionResult Index() 2         { 3             string tmppath = Server.MapPath("~/2.doc"); 4             Document doc = new Document(tmppath); //载入模板 5  6  7             Dictionary<string, string> dictionnary = new Dictionary<string, string>(); 8             dictionnary.Add("姓名", "杨幂"); 9             dictionnary.Add("学历", "本科");10             dictionnary.Add("联系方式", "12345123");11             dictionnary.Add("邮箱", "[email protected]");12             dictionnary.Add("内容", "上去就是干");13 14             foreach (var item in dictionnary)15             {16                 var key = string.Format("&{0}&", item.Key);17 18                 //doc.Range.Replace()19 20                 doc.Range.Replace(key, item.Value, new FindReplaceOptions())21                 // doc.MailMerge.Execute(key, item.Value,false,false); //此函数已被标记弃用22             }23             //if (doc.Range.Bookmarks["Name"] != null)24             //{25             //    Bookmark mark = doc.Range.Bookmarks["name"];26             //    mark.Text = aModel.Name;27             //}28 29             var docStream = new MemoryStream();30             doc.Save(docStream, SaveFormat.Doc);31             //doc.Save(docStream, SaveOptions.CreateSaveOptions(SaveFormat.Doc));32             return File(docStream.ToArray(), "application/msword", "Template.doc");33         }

这样问题就迎刃而解,导出在word绘制好表格,对需要插入的数据的地方标记,后台直接插入代码即可,还有一种方式是针对书签但是一般不推荐,太麻烦

以下是案例方式截图

例如:&姓名&-周杰伦 此格式去替换,可由自己定义规则





上一篇:Centos7.2 编译安装PHP7
下一篇:Android手机用KSWEB搭建Web服务器成功安装WordPress

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

腹肌贴健身器材智能腹部训练健腹器肌