一、创建模板,使用MergeField绑定数据
![](https://img.haomeiwen.com/i9179871/454c135ac389c394.png)
二、使用数组提供数据源
![](https://img.haomeiwen.com/i9179871/8f35284392b825dc.png)
三、模板上使用书签,插入标记位置
![](https://img.haomeiwen.com/i9179871/7b0404ccf922ed31.png)
四、创建循环数据的模板,这里的循环类似于页面的for循环结构,不局限于形式table
![](https://img.haomeiwen.com/i9179871/86fb52cd08939b6d.png)
五、使用Datatable提供数据源(配合四)
![](https://img.haomeiwen.com/i9179871/df1a5041e2269d41.png)
六、绑定带有子循环的数据模块
![](https://img.haomeiwen.com/i9179871/11218fbeb30d6d3f.png)
七、使用DataSet提供数据源
![](https://img.haomeiwen.com/i9179871/b34497c839976b16.png)
八、在书签位置插入另一个文档的内容
![](https://img.haomeiwen.com/i9179871/628cc5c930206e66.png)
向word文档中插入图片(方法一)
![](https://img.haomeiwen.com/i9179871/1006e05cc9daca02.png)
xiangword文档中插入图片(方法二)
![](https://img.haomeiwen.com/i9179871/dbac8a96bd3244dd.png)
代码技巧:
![](https://img.haomeiwen.com/i9179871/d3b7755d7bbb3294.png)
创建OOXML图表
![](https://img.haomeiwen.com/i9179871/4d8455bb205b4691.png)
![](https://img.haomeiwen.com/i9179871/87b4bcdb0f3e3421.png)
数据标签的设置?
![](https://img.haomeiwen.com/i9179871/ecc41a71036372da.png)
![](https://img.haomeiwen.com/i9179871/074aabb015612e5a.png)
二、使用Aspose将图像转换为PDF
![](https://img.haomeiwen.com/i9179871/0852fd9440f1cde6.png)
![](https://img.haomeiwen.com/i9179871/475e0a074228c465.png)
![](https://img.haomeiwen.com/i9179871/020e9a1090d8927c.png)
文档合并?
publicActionResultdemo2(){try{Documentdoc =newDocument(); doc.RemoveAllChildren();intrecordCount = 5;varguid =Guid.NewGuid().ToString();stringoutPath = Server.MapPath("~/ReportModels/"+ guid +".docx");for(inti = 1; i <= recordCount; i++){stringModelPath = Server.MapPath("~/ReportModels/模板.docx");//DocumentsrcDoc =newDocument(ModelPath);DocumentBuilderbuilder =newDocumentBuilder(srcDoc);Dictionary dic =newDictionary(); dic.Add("demo1","活动demo"+i); dic.Add("demo2","危险源demo"+i); dic.Add("demo3","编号demo"+i); dic.Add("demo4","分布demo"+i); dic.Add("demo5","事件demo"+i);this.MailByDic(dic, builder);DataTabletable1 =newDataTable("Table"); table1.Columns.Add("demo6"); table1.Columns.Add("demo7"); table1.Rows.Add(newobject[]{"测试1","测试1"+i}); table1.Rows.Add(newobject[]{"测试2","测试3"+i}); table1.Rows.Add(newobject[]{"测试3","测试3"+i}); table1.Rows.Add(newobject[]{"测试3","测试3"+i}); srcDoc.MailMerge.ExecuteWithRegions(table1);//doc.AppendDocument(srcDoc,ImportFormatMode.UseDestinationStyles);}doc.Save(outPath,SaveFormat.Docx);returnJson(new{IsSuccess =true, Message ="报告生成成功"},JsonRequestBehavior.AllowGet);}catch(Exceptionex){LogHelper.WriteLog("DemoController.demo2", ex);returnnull;}}/// /// 通过字典执行word渲染/// /// /// publicvoidMailByDic(Dictionary dic,DocumentBuilderbuilder){foreach(stringkeyindic.Keys){builder.MoveToMergeField(key); builder.Write(dic[key]);}}
![](https://img.haomeiwen.com/i9179871/9183e952318b63fa.png)
![](https://img.haomeiwen.com/i9179871/1817483205c8e288.png)
网友评论