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

商品导出到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. 表单提交---前端页面模拟表单提交(form)

    有些时候我们的前端页面总没有<form></form>表单,但是具体的业务时,我们又必须用表单提交才能达到我们想要的结果,LZ最近做了一些关于导出的一些功能,需要调用浏览器默认 ...

  2. js 日期天数相加减,格式化yyyy-MM-dd

    参数格式: date :2016-03-02 days:-3(2)当为负数的时候日期往前推,为正数,日期往后推 function addDate(date, days) { var d = new D ...

  3. Ubuntu 安装 pecl_http

    由于开发环境需要用到pecl_http,根据网上找的教程一直没用按照成功,查看错误,pcre这里出错了,原来要安装这个libpcre3-dev,安装好这个就成功了,记下命令. $ sudo apt-g ...

  4. 检测.net framework 版本

    项目中,自己要制作asp.net项目的安装文件,由于项目依赖于.net framework 3.5 sp1,故需检测环境是否符合要求,才能安装程序 度娘找到检测方案:各.net版本对应的安装补录下都有 ...

  5. shell之rm -rf的别名设置

    vim ~/.bashrc alias rm='read -p "Are you ready?" y && [ $y == "y" ] & ...

  6. tomcat之负载均衡(apache反响代理tomcat)

    基于mod_proxy模块 配置内容如下: 准备工作-->检查模块 # httpd -D DUMP_MODULES……………………proxy_module (shared)proxy_balan ...

  7. LeetCode_Length of Last Word

    Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the l ...

  8. LeetCode_Roman to Integer

    Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range from 1 t ...

  9. [置顶] SPL讲解(6)--Condition篇

    SmartPersistenceLayer 2.0 之 Condition篇 原理        强大的Condition功能是SPL的一个特性,可以使用Condition完成绝大部分的条件定义,使用 ...

  10. css案例学习之table tr th td ul li实现日历

    效果 代码 <html> <head> <title>Calendar</title> <style> <!-- .month { b ...