Aurora Excel????

2015-11-17 15:37:29by Webmaster

Aurora报表导出

开发SVC导出excel报表

对于复杂的excel报表,无法通过grid上的报表直接导出,可以通过编写svc程序实现所需的导出文件。例如:

<?xml version="1.0" encoding="UTF-8"?>
<a:service xmlns:a="http://www.aurora-framework.org/application" xmlns:dr="aurora.plugin.excelreport" xmlns:p="uncertain.proc" trace="true">
    <a:init-procedure>
        <a:model-query fetchAll="true" model="sys.SYS8210.login_account_query" rootPath="/model/users"/>
        <a:model-query fetchAll="true" model="sys.SYS8210.sys_user_employee_lov" rootPath="/model/banks"/>
        <dr:excel-report enableTask="false" fileName="banks.xlsx" template="/Volumes/MacintoshHD/download/banks_template.xlsx">
            <styles>
                <dr:cell-style name="title" align="ALIGN_CENTER">
                    <dr:font bold="true" fontName="黑体" height="18" italic="false"/>
                </dr:cell-style>
                <dr:cell-style name="header" align="ALIGN_CENTER">
                    <dr:font bold="true" fontName="宋体" height="12"/>
                </dr:cell-style>
                <dr:cell-style name="foot">
                    <dr:font bold="true" fontName="宋体" height="12"/>
                </dr:cell-style>
                <dr:cell-style name="footNumber" dataFormat="#,##0.000">
                    <dr:font bold="true" fontName="宋体" height="12"/>
                </dr:cell-style>
                <dr:cell-style name="group">
                    <dr:font bold="true" fontName="宋体" height="12"/>
                </dr:cell-style>
            </styles>
            <sheets>
                <dr:sheet name="users">
                    <static-content>
                        <dr:cell-data cell="A" offset="false" range="$A$1:$H$1" row="1" styleName="title" type="content" value="用户清单"/>
                        <dr:cell-data cell="A" offset="true" row="1" type="content" value="用户数"/>
                        <dr:cell-data cell="B" offset="true" row="1" styleName="foot" type="formula" value="COUNTA(A3:A49)"/>
                        <dr:cell-data cell="A" offset="true" row="2" styleName="foot" type="content" value="当前用户ID"/>
                        <dr:cell-data cell="B" dataType="Number" offset="true" row="2" styleName="foot" type="content" value="${/session/@user_id}"/>
                        <dr:cell-data cell="C" offset="true" row="2" styleName="foot" type="content" value="数字格式展示"/>
                        <dr:cell-data cell="D" dataType="Number" offset="true" row="2" styleName="footNumber" type="content" value="100000000000"/>
                    </static-content>
                    <dr:dynamic-content cell="A" dataModel="/model/users" displayTitle="false" row="2">
                        <columns>
                            <dr:table-column cellStyle="" field="user_name" title="账号" titleStyle="header" type="content"/>
                            <dr:table-column cellStyle="" field="description" title="描述" titleStyle="header" type="content"/>
                            <dr:table-column cellStyle="" field="start_date" title="有效期从" titleStyle="header" type="content"/>
                            <dr:table-column cellStyle="" field="end_date" title="有效期至" titleStyle="header" type="content"/>
                            <dr:table-column cellStyle="" field="frozen_flag" title="是否冻结" titleStyle="header" type="content"/>
                            <dr:table-column cellStyle="" field="frozen_date" title="冻结时间" titleStyle="header" type="content"/>
                            <dr:table-column cellStyle="" field="employee_code" title="工号" titleStyle="header" type="content"/>
                            <dr:table-column cellStyle="" field="employee_name" title="姓名" titleStyle="header" type="content"/>
                            <dr:table-column title="Week">
                                <columns>
                                    <dr:table-column field="person" title="Mon" type="content"/>
                                    <dr:table-column field="person" title="Tue" type="content"/>
                                </columns>
                            </dr:table-column>
                        </columns>
                    </dr:dynamic-content>
                </dr:sheet>
                <dr:sheet name="banks" displayGridlines="false">
                    <static-content>
                        <dr:cell-data cell="A" offset="false" range="$A$1:$H$1" row="1" styleName="title" type="content" value="银行清单"/>
                        <dr:cell-data cell="A" offset="true" row="1" styleName="foot" type="content" value="备注"/>
                    </static-content>
                    <dr:dynamic-content cell="B" dataModel="/model/banks" groupDesc="总计" row="2">
                        <columns>
                            <dr:table-column cellStyle="" field="bank_code" groupLevel="2" title="银行代码" titleStyle="header" type="content"/>
                            <dr:table-column cellStyle="" field="bank_name" groupDesc="小计" groupLevel="2" title="银行简称" titleStyle="header" type="content"/>
                            <dr:table-column cellStyle="" field="bank_branch_code" groupLevel="1" title="分行代码" titleStyle="header" type="content"/>
                            <dr:table-column cellStyle="" field="branch_name" groupDesc="小计" groupLevel="1" title="分行名称" titleStyle="header" type="content"/>
                            <dr:table-column cellStyle="" field="bank_account_num" groupFormula="COUNTA" title="银行账户" titleStyle="header" type="content"/>
                            <dr:table-column cellStyle="" field="currency_code" title="币种" titleStyle="header" type="content"/>
                            <dr:table-column cellStyle="" field="deposit" groupFormula="AVERAGE" title="存款" titleStyle="header" type="content"/>
                        </columns>
                    </dr:dynamic-content>
                    <dr:dynamic-content cell="B" dataModel="/model/banks" row="2">
                        <columns>
                            <dr:table-column cellStyle="" field="bank_code" groupLevel="2" title="银行代码" titleStyle="header" type="content"/>
                            <dr:table-column cellStyle="" field="bank_name" title="银行简称" titleStyle="header" type="content"/>
                            <dr:table-column cellStyle="" field="bank_branch_code" groupLevel="1" title="分行代码" titleStyle="header" type="content"/>
                            <dr:table-column cellStyle="" field="branch_name" groupDesc="计数" groupField="bank_code" groupFormula="3" groupLevel="1" title="分行名称" titleStyle="header" totalDesc="总计数" type="content"/>
                            <dr:table-column cellStyle="" field="bank_account_num" groupDesc="计数" groupField="bank_branch_code" groupFormula="3" title="银行账户" titleStyle="header" type="content"/>
                            <dr:table-column cellStyle="" field="currency_code" groupDesc="计数" groupField="bank_branch_code" groupFormula="3" title="币种" titleStyle="header" totalDesc="总计数" type="content"/>
                            <dr:table-column cellStyle="" field="deposit" title="存款" titleStyle="header" type="content">
                                <groups>
                                    <dr:group-config groupDesc="平均值" groupField="bank_branch_code,branch_name,bank_code" groupFormula="1" totalDesc="总计平均值"/>
                                    <dr:group-config groupDesc="最大值" groupField="bank_branch_code,branch_name,bank_code" groupFormula="5" totalDesc="总计最大值"/>
                                    <dr:group-config groupDesc="最小值" groupField="bank_branch_code,branch_name,bank_code" groupFormula="6" totalDesc="总计最小值"/>
                                </groups>
                            </dr:table-column>
                        </columns>
                    </dr:dynamic-content>
                </dr:sheet>
            </sheets>
        </dr:excel-report>
    </a:init-procedure>
</a:service>


	    

在这个svc中,我们开发了可分级的excel报表导出。

其中主要的参数定义

Aurora Excel标签参数清单:

excel-report 报表配置

filename 生成后的文件名

filename:excel调用的模板文件

styles 式样

cell-style 单元格式样

sheet

name sheet页名称

autoSizeColumns 自动尺寸列

displayGridlines 显示表格边框

static-content 静态数据

cell-data单元格数据

cell 起始列

row 起始行

offset 页眉页脚显示 false页眉,true页脚

range 合并单元格

stylename 式样名称

type 类型 默认content

value 单元格赋值

dataType 数据类型 默认String

dynamic-content 动态数据

cell 起始列

row 起始行

merged 合并单元格

dataModel 数据来源

table-column 列定义

cellStyle 单元格式样

field 绑定字段

title 列描述

titleStyle 列描述式样

type 类型 默认content

groupLevel 分组优先级

subtotal-config 分组设置

groupdesc 分组描述

merged 合并单元格

groupfield 分组列,可多列,半角逗号隔开

groupformula 分组公式: 1平均 2求和 3计数 4 xxx 5最大 6最小

Demo
    Attachments
    1. excel??.svc.xml

    Comments

    1 Responses to the article
    1. [email protected] 留言于:2018年09月02日 17:35
      这个怎么调用呀
    发表评论