任务:从商家中心导出数据,各个商品所属情况.

商品导出到Excel文件功能

/导出exel 功能make-in-lemon
public function createExcelOp(){ $model = Model('goods');
$bill_list = $model->getGoodsOnlineList($condition); //导出Excel
import('libraries.excel');
$excel_obj = new Excel();
$excel_data = array();
//设置样式
$excel_obj->setStyle(array('id'=>'s_title','Font'=>array('FontName'=>'宋体','Size'=>'12','Bold'=>'1')));
//header
$excel_data[0][0] = array('styleid'=>'s_title','data'=>'SKU-ID');
$excel_data[0][1] = array('styleid'=>'s_title','data'=>'商品名称');
$excel_data[0][2] = array('styleid'=>'s_title','data'=>'供应商名');
$excel_data[0][3] = array('styleid'=>'s_title','data'=>'规格');
$excel_data[0][4] = array('styleid'=>'s_title','data'=>'市场价');
$excel_data[0][5] = array('styleid'=>'s_title','data'=>'商品价格');
$excel_data[0][6] = array('styleid'=>'s_title','data'=>'库存');
$excel_data[0][7] = array('styleid'=>'s_title','data'=>'商家货号');
$excel_data[0][8] = array('styleid'=>'s_title','data'=>'是否隐藏');
//data
foreach ($bill_list as $k=>$v){
$excel_data[$k+1][0] = array('data'=>$v['goods_id']);
$excel_data[$k+1][1] = array('data'=>$v['goods_name']);
$excel_data[$k+1][2] = array('data'=>$v['supplier_name']);
$excel_data[$k+1][3] = array('data'=>$v['goods_spec']);
$excel_data[$k+1][4] = array('data'=>$v['goods_marketprice']);
$excel_data[$k+1][5] = array('data'=>$v['goods_price']);
$excel_data[$k+1][6] = array('data'=>$v['goods_storage']);
$excel_data[$k+1][7] = array('data'=>$v['goods_serial']);
$excel_data[$k+1][8] = array('data'=>$v['is_hidden']);
}
$excel_data = $excel_obj->charset($excel_data,CHARSET);
$excel_obj->addArray($excel_data);
$excel_obj->addWorksheet($excel_obj->charset('商品统计',CHARSET));
$excel_obj->generateXML($excel_obj->charset('商品统计',CHARSET).date('Y-m-d-H',time()));
exit();
}

遇到的问题,当筛选商品事,如何只导出当前数据呢

思考:如何get到的如何传递到另一个方法使用呢

ajax 获取当前值并传递

view

<a href="javascript:void(0);"  class="ncsc-btn ncsc-btn-green" style="right:250px" nctype="exel" data-param="{url:'<?php echo urlSeller('store_goods_online', 'createExcel');?>', sign:'batch_exel'}"onclick="return confirm('您确定要导出exel吗?');"><i></i>导出exel</a>
<script>
$(function(){
//导出exel
$('a[nctype="exel"]').click(function(){
var data_str = '';
var data_str2 = $("select[name='supplier_id']").val();
var data_str3 = $("select[name='search_hidden_type']").val();
var data_str4 = $("select[name='gc_id']").val(); eval('data_str = ' + $(this).attr('data-param'));
if(data_str.sign == 'batch_exel'){
window.open(data_str.url+ '&commonid='+'&supplier_id='+data_str2+'&search_hidden_type='+data_str3+'&gc_id='+data_str4);
}
});
});
</script>

最终 效果:

shopnc 导出Excel数据问题实例 && ajax 获取当前值并传递的更多相关文章

  1. flask使用tablib导出excel数据表

    在网页中常常有导出数据的需求,尤其是一下管理类平台.在flask中要导出excel数据表,通常可以使用xlwt库,创建文件并逐行写入数据,但是使用起来总是感觉很麻烦.tablib库相对操作更加方便. ...

  2. [转] Asp.Net 导出 Excel 数据的9种方案

    湛刚 de BLOG 原文地址 Asp.Net 导出 Excel 数据的9种方案 简介 Excel 的强大之处在于它不仅仅只能打开Excel格式的文档,它还能打开CSV格式.Tab格式.website ...

  3. oracle-sql脚本导出EXCEL数据

    在数据库中,经常有业务人员提出需求导出数据库中的业务数据,而且是每天.每周或每月定时导出.为了方便,可将sql查询的脚本 通过下面脚本来导出EXCEL数据. 1.将查询sql脚本(AAA.sql)放到 ...

  4. JavaScript 在函数中使用Ajax获取的值作为函数的返回值

    解决:JavaScript 在函数中使用Ajax获取的值作为函数的返回值,结果无法获取到返回值 原因:ajax默认使用异步方式,要将异步改为同步方式 案例:通过区域ID,获取该区域下所有的学校 var ...

  5. java 通过Apache poi导出excel代码demo实例

    package com.zuidaima.excel.util; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutput ...

  6. asp.net中导出excel数据的方法汇总

    1.由dataset生成 代码如下 复制代码 public void CreateExcel(DataSet ds,string typeid,string FileName)    {    Htt ...

  7. php导出excel数据

    提供两种导出excel方法 1 最简单的导出excel header('Content-Type: application/vnd.ms-excel'); //设置文件类型   也可以将 vnd.ms ...

  8. xlrd的使用详细介绍以及基于Excel数据参数化实例详解

    1.安装xlrd xlrd是python用于读取excel的第三方扩展包,所以在使用xlrd前,需要使用以下命令来安装xlrd.pip install xlrd 在使用这个命令之前先确定自己有没有安装 ...

  9. Java导出Excel的Springmvc实例

     @RequestMapping(value = "downloadExcel", method = RequestMethod.GET)  public String downl ...

随机推荐

  1. MVC 模型、视图、控制及其单入口文件的mvc的工作原理

         什么是mvc,mvc就是模型视图控制,模型就是model,在项目中负责数据库相关的操作,视图就是view ,负责页面的展示和数据的展示,控制就是controller ,负责中间的逻辑转换,数 ...

  2. mac terminal的使用技巧

    1. 多tab支持    1)terminal y也是支持多tab的, Cmd+T可以打开一个新的tab    2) cmd + shift + { / } 可以在tab间切换   2. termia ...

  3. https://github.com/aptana/studio3/releases aptana

    https://github.com/aptana/studio3/releases  aptana

  4. zabbix之3触发器/action及模板

    1.触发器: {server_name:item_name.func.operator.condition} 一旦condition(条件)触发,则item状态改变 触发器之间可以存在依赖关系,即it ...

  5. Sunscreen(POJ 3614 优先队列)

    Sunscreen Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5898   Accepted: 2068 Descrip ...

  6. PyQt4.11.3(python3.4+QT4)ui文件生成py文件

    最近开始接触学习Python,所以想用QT弄个窗体程序出来玩玩,环境是Python3.4.2.PyQt4.11.3-Py3.4.Win7.用PyQt自带的Designer设计出一个窗体ui文件后,需要 ...

  7. POP3、SMTP、IMAP和Exchange都是个什么玩意?

    很多时候一直对POP3.SMTP.IMAP和Exchange等迷迷糊糊的.下面就整理说明一下: 当前常用的电子邮件协议有SMTP.POP3.IMAP4,它们都隶属于TCP/IP协议簇,默认状态下,分别 ...

  8. C# Environment类_获取程序所在机器信息

    一.属性 CommandLine  获取该进程的命令行.CurrentDirectory 获取或设置当前工作目录的完全限定路径.ExitCode 获取或设置进程的退出代码.HasShutdownSta ...

  9. java中list、set和map 的区别

    List按对象进入的顺序保存对象,不做排序或编辑操作.Set对每个对象只接受一次,并使用自己内部的排序方法(通常,你只关心某个元素是否属于Set,而不关心它的顺序--否则应该使用List).Map同样 ...

  10. codecomb 2100【警察叔叔就是这个人!】

    题目背景 十个地方十人十色 全部都是猥琐大叔 这里也是那里也是 行踪可疑 现如今hentai横行,警察叔叔们不得不采取特♂殊手段惩戒这些家伙 题目描述 魅力之都是一个有N个路口,M条双向道路连接的城市 ...