| Aurora Excel????2015-11-17 15:37:29by Webmaster 对于复杂的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 |
Comments
1 Responses to the article