有的时候当我们导出文件时,如果文件比较小可以使用phpexcel,但是当文件太大时就会遇到很多瓶颈(excel条数限制、导出时间太长等)。

这个时候要么使用excel分批次导出,要么就需要使用csv导出。但是,分批次导出还需要合并。纯csv的话,导出的文件又不好看,还要转换成excel。

最近看到一个插件,导出csv文件,但最终形成的是excel,确实方便,记录下

官网是这里:https://packagist.org/packages/league/csv

composer:git下载

1.新建csv文件夹

  

2.csv下安装

  composer require league/csv

3.引用

  1. use League\Csv\Reader;
  2. use League\Csv\Writer;
  3. use SplTempFileObject;

  注意,报错:

  的话,原因是缺少引用。在代码最前面加入include('vendor/autoload.php');即可。

4.看代码

  

  1. include('vendor/autoload.php');
  2. use League\Csv\Reader;
  3. use League\Csv\Writer;
  4.  
  5. $head = ['名称', '价格'];
  6. $data = getData();
  7. // 转编码
  8. //foreach ($head as $k => $v) {
  9. // $head[$k] = iconv("UTF-8", "GB2312//IGNORE", $v);
  10. //}
  11.  
  12. $csv = Writer::createFromFileObject(new \SplTempFileObject());
  13. $csv->insertOne($head);
  14. $csv->insertAll($data);
  15. $csv->output('csv_demo' . date('Ymd') . '.csv');
  16. die;
  17.  
  18. function getData(){
  19. $pdo = new PDO("mysql:host=localhost;dbname=dian","root","");
  20. $sql = 'SELECT * FROM address';
  21. $rows = $pdo->query($sql);//执行的是select语句,返回值是PDOStatement对象。
  22. $rows->setFetchMode(PDO::FETCH_ASSOC);//取消数字id索引
  23. $rows = $rows->fetchAll();
  24.  
  25. $data = [];
  26. foreach($rows as $k=>$v) {
  27. $data[] = [
  28. 'date' => $v['comname'],
  29. 'loan_amount' => $v['comaddress'],
  30. ];
  31. }
  32.  
  33. return $data;
  34. }

  先暂时以导出为例,导入后续再研究

league之csv导出的更多相关文章

  1. yii的csv导出

    数据导出,简单的csv导出, public static function export($parameter){ if (is_array($parameter)) { $filename = da ...

  2. 将csv导出json格式

    将csv导出json格式 import os,csv,json cf = open('D:\OneDrive\\Tech\\Script\\Powershell_Script\\Uxin_work\\ ...

  3. PHP csv导出数据

    全部导出和时间导出 html代码,全程并不需要引用什么插件 <include file="public@header"/> <link href="__ ...

  4. vue后台_纯前端实现excel导出/csv导出

    之前的文件下载功能一般是由前后端配合实现,由于项目需要,纯前端实现了一把excel的导出功能: 一.excel导出 1.安装依赖库 xlsx:这是一个功能强大的excel处理库,但是上手难度也很大,还 ...

  5. PHP csv导出数据 (二)

    全部导出和时间导出 html代码,全程并不需要引用什么插件 <include file="public@header"/> <link href="__ ...

  6. android之csv导出

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...

  7. ActiveReports 报表控件V12新特性 -- 新增JSON和CSV导出

    ActiveReports是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForms / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求 ...

  8. CSV导出

    CSV 导入导出工具类 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; impor ...

  9. ABP进阶教程9 - CSV导出中文乱码

    点这里进入ABP进阶教程目录 问题描述 功能按钮 - 导出CSV,中文信息导出为乱码. 解决方案 打开展示层(即JD.CRS.Web.Mvc)的\wwwroot\view-resources\View ...

随机推荐

  1. MailUtils类:用于发送激活邮件

    该类用于发送激活邮件 package com.itheima.utils; import java.util.Properties; import javax.mail.Authenticator; ...

  2. 简单介绍一下在CentOS上安装Docker。

    简单介绍一下在CentOS上安装Docker. 前置条件: 64-bit 系统 kernel 3.10+ 1.检查内核版本,返回的值大于3.10即可. $ uname -r 2.使用 sudo 或 r ...

  3. [51Nod 1584] 加权约数和

    Description 在整理以前的试题时,他发现了这样一道题目:"求 \(\sum\sigma(i)\),其中 \(1≤i≤N\),\(σ(i)\) 表示 \(i\) 的约数之和.&quo ...

  4. VM虚拟机截图方法介绍

    可以先安装QQ之类的截图软件,但比较麻烦,而且截图之后还需要安装VMware Tools等工具才能拿到物理机上 先定向到物理机,快捷键为CTRL+ALT,之后在用qq截图快捷键ctrl+alt+a即可 ...

  5. Codeforces Round #437 Div. 1

    A:显然构造一组只包含1和2面值的数据即可. #include<iostream> #include<cstdio> #include<cmath> #includ ...

  6. Mail.Ru Cup 2018 Round 3

    A:签到 #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> # ...

  7. 第二十二天 logging hashlib re 模块

    今日内容 logging功能完善的日志模块 re正则表达式模块主要处理字符串匹配 查找 搜索给你一个字符串 要从中找到你需要的东西 爬虫大量使用 hashlib hash算法相关的库 算法怎么算不需要 ...

  8. BZOJ1012 最大数maxnumber

    单调栈的妙处!! 刚看到这题差点写个splay..但是后来看到询问范围的只是后L个数,因为当有一个数新进来且大于之前的数时,那之前的数全都没有用了,满足这种性质的序列可用单调栈维护 栈维护下标(因为要 ...

  9. 【UOJ348】【WC2018】州区划分 状压DP FWT

    题目大意 给定一个\(n\)个点的无向图,对于每种 \(n\) 个点的划分\(\{S_1,S_2,\ldots,S_k\}\),定义它是合法的,当且仅当每个点都在其中的一个集合中且对于任何的\(i\i ...

  10. Linux查看实时网卡流量的几种方式

    Linux查看实时网卡流量的几种方式 来源  https://www.jianshu.com/p/b9e942f3682c 在工作中,我们经常需要查看服务器的实时网卡流量.通常,我们会通过这几种方式查 ...