zoukankan      html  css  js  c++  java
  • aspose.word 使用简单方法

     

    aspose.word使用简单方法

    概念介绍

    使用aspose生成word报表步骤:

    1. 加载word模板
    2. 提供数据源
    3. 填充

    加载模板

    提供了4种重载方法

    1
    2
    3
    4
    5
    public Document();
    public Document(Stream stream);
    public Document(string fileName);
    public Document(Stream stream, LoadOptions loadOptions);
    public Document(string fileName, LoadOptions loadOptions);

    模板制作

    aspose在word模板中使用了域(MergeField),一个域相当于一个占位符。域,可以从菜单  插入->文档部件中定位选择。

    数据填充

    目前有两种情况:基本信息和列表。

    基本信息:基本属性,列表对应循环的数据结构,如DataTable.

    对于列表,使用DataTable进行填充。

    模板的制作:

    表格以关键字TableStart开头,TableEnd结束。关键字后加DataTable表名称。e.g.TableStart:tableName

    表头中间,是具体字段的名称。

     序号 姓名 性别 年龄
     <TableStart:Name><<Index>>  <<Name>>  <<Sex>> <<Age>><<TableEnd:Name>>
    Document doc = new Document(Server.MapPath("~\templet") + "\" + name);
    doc.MailMerge.ExecuteWithRegions(DataTable)

     具体字段

    有两种方式可以实现:

    方法一、

    1
    2
    3
    DocumentBuilder builder = new DocumentBuilder(doc);
    builder.MoveToMergeField(MergeFiled Name);
    builder.Write(value;

    这种方式,一次填充一个数据。但一个域字段可以多次使用,并可以一次填充。

    优点,可以灵活定制。如果要想一次替换多个域字段,稍加改动同样可以实现。

    DocumentBuilder builder = new DocumentBuilder(doc);
    while(builder.MoveToMergeField(MergeFiled Name))
    {
        builder.Write(value;
    }

    方法二、

     doc.MailMerge.Execute(fieldNames, fieldValues);

    在具体开发过程中,通常选择Entity作为数据源。可通过反射获取数据。

    如何获取域字段

    1
    doc.MailMerge.GetFieldNames()

    方法返回的书string[]

    方法三、

     根据属性域添加特殊符号代码如下

            1.找到属性域位置:

             builder.MoveToMergeField(item.Key);

           2.设置属性域格式

           builder.ParagraphFormat.StyleIdentifier =Aspose.Words.StyleIdentifier.BodyText;
     
                                    builder.Font.Name = "Wingdings 2";
                                    builder.Font.Size = 8;
                                    builder.Font.Italic = true;
                                    builder.Write("R");

     操作方法:

    来自:Office之家
    链接:http://office.jb51.net/word/5200.html

    来自:Office之家
    链接:http://office.jb51.net/word/5200.html

     在单元格中输入字母 R,然后把字体设置成 wingdings 2类型即可,如下图所示关于字母与符号的对应表。

     0是复选框

    来自:Office之家
    链接:http://office.jb51.net/word/5200.htm

    可参考:  http://www.cnblogs.com/lucika/p/3519275.html

         http://www.cnblogs.com/birchlee/archive/2013/05/23/3094632.html

  • 相关阅读:
    剑指offer:二分查找找到旋转数组中的最小值
    强制索引
    剑指offer:青蛙跳台阶
    剑指offer:求和
    序列化和反序列化
    装饰器、生成器
    Python函数(一)
    【转】C# 中的委托和事件
    【读书笔记】备忘录模式翻译成C++了
    【学习笔记】Android 调试桥
  • 原文地址:https://www.cnblogs.com/louby/p/6456021.html
Copyright © 2011-2022 走看看