您的位置:首页 > 其它

oms数据通过excel模板导出excel文件,同时可在excel模板中添加计算公式

2017-08-24 18:27 706 查看
js代码:

//订单当前页导出
function CurrentPage(){
var grid=Ext.getCmp('searchGrid');   //主表明细显示列表
var rec=grid.getStore().data;
if(rec.length==0){
alertify.log("此报表不存在清单,不能导出!", "error");//("此配载单不存在清单,不能打印!");
return;
}
//  var omsAttemperId = Ext.getCmp('omsAttemperId').value;
//  var attemperNo = Ext.getCmp('attemperNo').value;
var queryFields=getQuery_fields('searchForm');

queryFields = processingqQueryFields(queryFields, {
"key" : ["CDT_foreightNo", "CDT_orderNo", "CDT_custormerNo", "CDT_cotractNo", "CDT_platform"]
}, {
"key" : ["CDT_foreightNo", "CDT_orderNo", "CDT_custormerNo"]
}, {
"key" : ["CDT_createTimeStart", "CDT_createTimeEnd"]
});
var sort_str="createTime desc";//默认排序
var currentPage = parseInt(model.options._start)/pageSize+1
var params = {
"pagingInfo" : {
"pageSize" : pageSize,
"currentPage" : currentPage
},
"orderBy":sort_str,
"queryFields" :queryFields,
"fieldCodeTypes" : {}
};
location.href=encodeURI(ctx+"service/export?serviceName=RptExpect_btnItems¶ms="+JSON.stringify(params)+"&title=预计到货&tempName=预计到货.xls");
}


可以在右键导出事件中调用该方法,获取查询条件,然后先请求service/export公共方法,然后在通过请求链接中的serviceName=RptExpect_btnItems查询fros找到对应的service和方法。

tempName=预计到货.xls为对应excel模板如下:



excel模板的中的值从哪里来?

定义两个bean,一个bean为所有的需要输出到excel的字段,另一个bean中只有一个关键属性,为保存输出字段bean的集合list。例如

保存输出字段bean:



包含list集合的bean:



然后我们需要根据之前的params,将它解析成queryInfo通过数据库重新查询一次需要输出到excel的值



其中queryData为自定义查询方法

遍历查询集合,给bean赋值:



最后返回map集合



最后通过输出流输出到excel文件即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: