zoukankan      html  css  js  c++  java
  • Asp.net开发经验利用Aspose.Words按模板导出Word(注:Excel可以使用Aspose.Excel)

    使用Aspose.Words仍然可以生成,更改,转换,渲染和打印文档,这样节约了您的经济成本。对于生成,更改,转换,渲染和打印这五大功能关键词,我们一一对其进行详细的解析。

    生成
    下图中所列举的20种格式都是Aspose.Words所支持的格式,转换部分支持9种形式(DOC、TXT、RTF等)的导出和导入;渲染部分支持10 种形式(PNG、JPEG、XPS等)的导出,并且以较高的保真度进行输出;报表部分支持三种形式(XML、Business Objects和ADO.NET)的读取。
    更改
    在不购买安装Microsoft Word的情况下,可通过后台程序的编写对文档进行修改,比如添加、删减一些文字或图片,比如企业在生成WORD文档时想添加产品的图片以便客户有更直观的视觉感受或者删减一些不必要的文字。
    转换
    Aspose.Words可以在应用程序上导出和导入文件,并且对文件的格式进行转换,比如导入的文件是TXT格式,在导出的时候可以转换成DOC格式。需要注意的是:Aspose.Words不支持渲染部分的格式导入,所以对于渲染部分的格式只能单向的进行导出转换。
    渲染
    使用Aspose Words,你可以打印或转换整个文档或者是文档中的单个页面为TIFF,PNG,BMP或EMF图像。同时,你还可以设置它的大小和缩放级别,以便于渲染的图片能依据您的要求在浏览器中显示。
    打印
    Aspose Words可通过后台应用将文档以较高的保真度打印成Microsoft Word格式,并且保证高质量的输出。
    通过我们对Aspose Words五大功能关键词的解析后,您是否对于Aspose Words
    控件有了更全面的了解呢?希望对您的工作有所帮助!

    执行打印代码:

    画模板..其实很简单的...模板就是下面这幅图.我来简单的介绍一下 <TableStart:All> 是表示从名为All的 DataTable 里面获取数据 <TableEnd:All>就是结束的位置,中间的<jylx>  <my> 之类的都是名为All这个的DataTable的列名.中间还有另外一个<TableStart:Item> <TableStart:Item> 同理这个是名为Item的DataTable 他们中间的<mc> <sl>就是Item这个表的列名。

    上面介绍了怎么画模板,我突然忘了告诉大家如何插入那些标签了...其实很简单只要在Word里面插入域即可..如下图所示.

    下面我来说说代码应该如何写,首先构造一个DataSet包含两个DataTable一个叫All 一个叫Item..添加代码大致如下,之后就是填充这2个DataTable即可

    private DataSet GetOneDs()
            {
                DataTable dt1 = new DataTable("All");

                dt1.Columns.Add("jylx");
        
                dt1.Columns.Add("my");
                dt1.Columns.Add("mc");//
                dt1.Columns.Add("mz");//
                dt1.Columns.Add("mjz");//
                //dt1.Columns.Add("mqt");//其他

                dt1.Columns.Add("sjbm");//
                dt1.Columns.Add("yqwcrq");//要求完成日期
                dt1.Columns.Add("jyyj");//检验依据

                dt1.Columns.Add("szq");//自取
                dt1.Columns.Add("sdzwd");//电子文档
                dt1.Columns.Add("sqt");//其它

                dt1.Columns.Add("ztwz");//完整
                dt1.Columns.Add("ztqx");//缺陷
                dt1.Columns.Add("ztms");//描述

                dt1.Columns.Add("sjbmfzr");//送检部门负责人
                dt1.Columns.Add("syrrq");//送检人/日期
                dt1.Columns.Add("jybmfzr");//检测部门负责人
                dt1.Columns.Add("jyrrq");//接样人/日期

                DataRow dr1 = dt1.NewRow();

                dr1["my"] = "□";//
                dr1["mc"] = "□";//
                dr1["mz"] = "□";//
                dr1["mbz"] = "□";//

                dr1["ztwz"] = "□";//完整
                dr1["ztqx"] = "□";//缺陷


                dr1["sdzwd"] = "□";//完整
                dr1["szq"] = "□";//缺陷
                dt1.Rows.Add(dr1);


                DataTable dt2 = new DataTable("Item");
                dt2.Columns.Add("bh");
                dt2.Columns.Add("mc");
                dt2.Columns.Add("sl");
                dt2.Columns.Add("rq");

                DataSet ds = new DataSet();
                ds.Tables.Add(dt1);
                ds.Tables.Add(dt2);



                return ds;
            }

    最后只要根据DataSet填充模板输出即可..代码如下

           Document doc = new Document(strPath);
    
                doc.MailMerge.ExecuteWithRegions(ds);
                doc.Save(Page.Response, "C010.doc", ContentDisposition.Attachment, SaveOptions.CreateSaveOptions(SaveFormat.Doc));

    Aspose.Words 下载地址:https://files.cnblogs.com/cracker/Aspose.Words.rar

  • 相关阅读:
    this指向
    call方法
    js浮点数的比较
    最近写h5 后台可配置大图轮播 发现pc上面正常,手机端无法显示
    记录好用的网站
    s-table组件设定
    iview TimePicker实现选择时间段
    symbol的使用
    JS笔记
    linux网络基础管理
  • 原文地址:https://www.cnblogs.com/xingvskong11/p/2946287.html
Copyright © 2011-2022 走看看