Aspose.Words

一、创建模板,使用MergeField绑定数据

Aspose.Words_第1张图片

二、使用数组提供数据源

Aspose.Words_第2张图片

三、模板上使用书签,插入标记位置

四、创建循环数据的模板,这里的循环类似于页面的for循环结构,不局限于形式table

五、使用Datatable提供数据源(配合四)

Aspose.Words_第3张图片
l

六、绑定带有子循环的数据模块

Aspose.Words_第4张图片

七、使用DataSet提供数据源

Aspose.Words_第5张图片

八、在书签位置插入另一个文档的内容

Aspose.Words_第6张图片

向word文档中插入图片(方法一)

Aspose.Words_第7张图片

xiangword文档中插入图片(方法二)

Aspose.Words_第8张图片

代码技巧:

Aspose.Words_第9张图片

创建OOXML图表

Aspose.Words_第10张图片
Aspose.Words_第11张图片

数据标签的设置?

Aspose.Words_第12张图片
Aspose.Words_第13张图片


二、使用Aspose将图像转换为PDF

Aspose.Words_第14张图片
Aspose.Words_第15张图片
Aspose.Words_第16张图片

文档合并?

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]);}}


Aspose.Words_第17张图片
Aspose.Words_第18张图片

你可能感兴趣的:(Aspose.Words)