前端:

点击导出触发click事件,传值export指令和args关键字(args是指我们是否有查询取哪些数据)到控制器

$(document).on("click", "#go-export", function () {
var args = "";
if($('#keyword').val() != ''){
args = args + '/keyword/'+$('#keyword').val();
}
window.open('index/export/1'+args);
});

控制器:

        if(!empty($postData['keyword'])){
$map['project_name'] = array('like','%'.$postData['keyword'].'%');
}
$dataList = $goods->where($map)->select();
for ($i = 0; $i < sizeof($dataList); $i++) {
$result[$i]['id'] = $dataList[$i]['id'];
$result[$i]['合同号'] = $dataList[$i]['contract_number'];
$result[$i]['项目名称'] = $dataList[$i]['project_name'];
$result[$i]['销售月份'] = $dataList[$i]['sales_month'];
$result[$i]['房型'] = $dataList[$i]['room_type'];
$result[$i]['渠道'] = $dataList[$i]['channel'];
$result[$i]['售卖单价'] = $dataList[$i]['one_prices'];
$result[$i]['结算单价'] = $dataList[$i]['all_prices'];
$result[$i]['房间数量'] = $dataList[$i]['room_num'];
$result[$i]['减扣金额'] = $dataList[$i]['damount'];
$result[$i]['备注'] = $dataList[$i]['note'];
$result[$i]['更新日期'] = $dataList[$i]['update_time']; }
$csv = "";
for($i=0;$i<sizeof($result);$i++){
if($i == 0){
$head = '"';
foreach($result[$i] as $key=>$value){
if($head != '"'){
$head .= '","';
}
$head .= $key;
}
$head .= "\"\n";
$csv .= $head;
}
$csv .= '"' . implode('","', $result[$i]) . '"' . "\n";
}
$this->export($csv);
}

下载控制器:ecport方法

 public function export($res){
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=".date('YmdHis').".csv");
header("Content-Type: application/csv");
header("Content-Transfer-Encoding: binary");
print mb_convert_encoding($res,"GBK", "UTF-8");
//print iconv('UTF-8', 'GBK//IGNORE', $res); }

  

Thinkphp实现excel导出数据的更多相关文章

  1. Excel向数据库插入数据和数据库向Excel导出数据

    为了熟悉java里工作簿的相关知识点,所以找了“Excel向数据库插入数据和数据库向Excel导出数据”的功能来实现. 注意事项:1,mysql数据库: 2,需要导入的jar包有 jxl.jar,my ...

  2. vue2 Excel导出数据 js-xlsx的使用

    vue2 Excel导出数据 js-xlsx的使用 https://www.jianshu.com/p/ea115a8e9107 小世界最温暖 关注 2018.11.19 16:08 字数 280 阅 ...

  3. JAVA实现Excel导出数据(以写好的Excel模版导出)

    工作中经常会有将后台数据以Excel导出的功能. 简单的方法有将response的contentType设置为application/vnd.ms-excel: 或在JSP页面直接设置成: <% ...

  4. 通过Workbook类 生成Excel导出数据

    需求: 实现错误信息生成Excel保存到本地让用户查看. 刚开始使用了微软自带的Microsoft.Office.Interop.Excel类库. Microsoft.Office.Interop.E ...

  5. Thinkphp解决phpExcel导出数据量大导致内存溢出

    工作需要导出几万的数据量.操作比较频繁.之前数据在七八千是数据导出很慢.phpExcel是方便但是性能一般.现在改为使用csv导出数据:可以缓解内存压力,一次导出两三万是没问题的.当然服务器内存给力, ...

  6. Excel导出数据Excel.Application组件权限设置方法

    很多网络应用系统都会涉及到数据采用Excel方式导出的模块,部分朋友问我到底怎么弄,其实方式很多种,目前比较优秀的方式还是直接用Excel的Excel.Application方式比较合适. 采用Exc ...

  7. thinkphp5中使用excel导出数据表格(包涵图片)

    首先使用composer require phpoffice/phpexcel下载安装phpexcel包. 将包放入extend下面. 不附加图片的导出 /** * 导出excel(不带图片) * @ ...

  8. 使用html替代excel导出数据的优势和技巧

    之前一直使用NPOI或者微软office官方组件导出excel,但是多多少少会有写小问题,不是数据量不能过大(xls的问题,用xlsx就可以更大了),就是速度慢,或者文件体积太大 中途采用过csv(逗 ...

  9. thinkphp添加excel更新数据表数据(优化篇)

    由于主管说使用saveAll更新数据效率太低,要改用sql语句一次执行现在修改 /** * excel开启上传 * author: panzhide * @return array * Date: 2 ...

随机推荐

  1. python学习笔记(3)---cookie & session

    一.cookie & session 1.cookie: cookie 就是由服务器发送给客户端的特殊信息,而这些信息以文本的方式存放在客户端,然后客户端每次向服务器发送请求都会带上这些特殊信 ...

  2. Spring Boot 多环境部署

    再简单的应用系统,通常都有两个环境——开发环境和线上环境.大型的企业应用还会有更多的环境,比如测试环境.准线上环境.演示环境等.应用的版本也可能对应了多个环境,比如1.0版本的演示环境.2.0版本的演 ...

  3. 大数据学习--day07(冒泡排序、Arrays工具类、方法可变参数)

    冒泡排序.Arrays工具类.方法可变参数 冒泡排序之前写过,略 Arrays工具类 二分法查询 public static int binarySearch(int[] a,int key) 头信息 ...

  4. Hive(9)-自定义函数

    一. 自定义函数分类 当Hive提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函数. 根据用户自定义函数类别分为以下三种: 1. UDF(User-Defined-Functi ...

  5. 请求报文的方法及get与post的区别

    请求报文的方法及get与post的区别 请求的起始以方法作为开始,方法用来告诉服务器要如何做. 在开发中通常有两种请求方式. get方式: 是以实体的方式得到由请求 URI 所指定资源的信息,如果请求 ...

  6. pip快速git项目安装

    pip install git+https://github.com/xx/xx.git

  7. C语言实现左旋字符串

    #include<stdio.h> #include<stdlib.h> #include<string.h> void left_rotate(char *str ...

  8. 如何在VMware Fusion中导入windows下的虚拟机

    最近换了新款的mbp,因为偷懒,便将之前在windows台式机上的虚拟机搬了过来. 特此记录下搬运过程,方便以后查看. 一 操作过程 安装激活VMware 常规操作,无需赘言 拷贝windows下虚拟 ...

  9. 成都Uber优步司机奖励政策(2月24日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  10. Unbuntu安装RVM

    apt-get install curl #安装rvm curl -L https://get.rvm.io | bash #执行启动 source /home/mafei/.rvm/scripts/ ...