/**

* 导出为CSV,excel文件

* 参数的设置

*/

function downloadExcel(){

require_once('../conn.php');

header('Content-Type: text/html; charset=UTF-8');

$keyword=$_GET['keyword'];

if ($keyword=='全部') {

$sql="SELECT d.equnumber,e.DepName as usedepname,b.fieldname as newname,f.DepName as appdepname, c.fieldname as oldname ,d.Price,d.State FROM request AS A inner join equipment AS d on d.id=a.EquipmentID inner join field AS b on b.fieldid=a.userid inner join field AS c on c.fieldid=a.AppID inner join department AS e on e.depid=a.usedep inner join department AS f on f.depid=a.appdep WHERE 1";

}else{

$sql="SELECT d.equnumber,e.DepName as usedepname,b.fieldname as newname,f.DepName as appdepname, c.fieldname as oldname ,d.Price,d.State FROM request AS A inner join equipment AS d on d.id=a.EquipmentID inner join field AS b on b.fieldid=a.userid inner join field AS c on c.fieldid=a.AppID inner join department AS e on e.depid=a.usedep inner join department AS f on f.depid=a.appdep WHERE d.State='$keyword'";

}

$result=mysqli_query($conn,$sql);

if (!$result) {

die('Could NOT Connect'.mysqli_error($conn));

}

else{

while ($row=mysqli_fetch_array($result,MYSQL_ASSOC)) {

//获取需要导出的数据

$data[]=array("equnumber"=>urlencode($row['equnumber']),"usedepname"=>$row['usedepname'],"usesitename"=>$row['newname'],"appdepname"=>urldecode($row['appdepname']),"appsitename"=>urldecode($row['oldname']),"price"=>urldecode($row['Price']),"state"=>urldecode($row['State']));

}

//设置EXCEL文件第一行的列头

$headlist=array('设备编号', '现使用总部门', '现使用子部门', '原申请部门','原申请子部门','价格','设备状态');

//设置EXCEL文件的文件名字

$fieldname='IT部资产清单'.date("Y.m.d");

csv_export($data,$headlist,$fieldname);

}

}

/**

* 导出excel(csv)

* @data 导出数据

* @headlist 第一行,列名

* @fileName 输出Excel文件名

*/

function csv_export($data = array(), $headlist = array(), $fileName) {

header('Content-Type: application/vnd.ms-excel');

header('Content-Disposition: attachment;filename="'.$fileName.'.csv"');

header('Cache-Control: max-age=0');

//打开PHP文件句柄,php://output 表示直接输出到浏览器

$fp = fopen('php://output', 'a');

//输出Excel列名信息

foreach ($headlist as $key => $value) {

//CSV的Excel支持GBK编码,一定要转换,否则乱码

$headlist[$key] = iconv('utf-8', 'gbk', $value);

}

//将数据通过fputcsv写到文件句柄

fputcsv($fp, $headlist);

//计数器

$num = 0;

//每隔$limit行,刷新一下输出buffer,不要太大,也不要太小

$limit = 100000;

//逐行取出数据,不浪费内存

$count = count($data);

for ($i = 0; $i

$num++;

//刷新一下输出buffer,防止由于数据过多造成问题

if ($limit == $num) {

ob_flush();

flush();

$num = 0;

}

$row = $data[$i];

foreach ($row as $key => $value) {

$row[$key] = iconv('utf-8', 'gbk', $value);

}

fputcsv($fp, $row);

exit();

}

}

因为自己也是小白,所以写的代码看着很幼稚,但是确实可以帮助导出。

php导出csv插件,PHP导出CSV,EXCEL相关推荐

  1. ae导出gif插件_AE导出GIF动画的几种方式

    对于只想导出GIF动画的设计师来说,AE不能直接导出GIF格式相对很不方便. 下面给大家介绍几种AE中导出GIF格式的方法: 方法一: 1.先在AE中输出视频格式,然后再将视频直接导入到Photosh ...

  2. Laravel Excel实现Excel/CSV文件导入导出的功能详解(合并单元格,设置单元格样式)

    Laravel Excel实现Excel/CSV文件导入导出(合并单元格,设置单元格样式) 这篇文章主要给大家介绍了关于在Laravel中如何使用Laravel Excel实现Excel/CSV文件导 ...

  3. 关于Excel和Csv导入和导出工具使用

    Excel和Csv导入和导出 我们做报表需求的时候很多时候需要导出或导入excel,不过现在有码云或者git有好多开源的工具还好用,我整理了下大家可以关注学习,我们也不用重复造轮子,直接引入jar包, ...

  4. 假导出Excel功能实现,按CSV格式快速导出功能代码参考(追求代码追求简洁复用)...

    我们辛苦录入的数据都希望能有重复利用的价值,一方面这些基础数据需要有数据库级的重复利用,程序级别的重复利用,另一方面还需要直接可以方便的导出倒入的功能比较好,虽然我们自己制作的统计分析功能很强大,但是 ...

  5. php laravel导入excel,Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解

    @H_404_0@ 1.简介 @H_404_0@本文主要给大家介绍了关于Laravel 5用Laravel Excel实现Excel/CSV文件导入导出的相关内容,下面话不多说了,来一起看看详细的介绍 ...

  6. 如何在 MySQL / MariaDB 中导入导出数据,导入导出数据库文件、Excel、CSV

    文章目录 本教程将详细讲解 1. MySQL / MariaDB 数据库数据「导出」 2. MySQL / MariaDB 数据库数据「导入」 3. 使用「卡拉云」一键导入导出 MySQL / Mar ...

  7. php导出1万条数据excel_PHP快速导出百万级数据到CSV或者EXCEL文件

    前言: 很多时候,因为数据统计,我们需要将数据库的数据导出到Excel等文件中,以供数据人员进行查看,如果数据集不大,其实很容易:但是如果对于大数集的导出,将要考虑各种性能的问题,这里以导出数据库一百 ...

  8. laravel5 Excel Excel/CSV 文件导入导出功能

    在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能 Posted on 2015年11月17日 by  学院君   注意版本2.1 1.简介 Lar ...

  9. phpMyAdmin将数据表中数据导出为csv文件,用微软excel打开时,中文乱码的原因以及解决办法

    中文乱码的原因:用户使用phpMyAdmin可以将数据表中数据导出为csv文件,而使用Excel工具打开该文件时,可能出现中文乱码的情况.这是因为phpMyAdmin导出的csv文件使用了UTF-8编 ...

最新文章

  1. linux运维如何月薪过万?(收藏自用)
  2. 开源 java CMS - FreeCMS2.8 数据对象 question
  3. 正则表达式的比较JDK1.4 vs jakarta
  4. 商淘多b2b2c商城系统怎么在个人电脑上安装_b2b2c商城系统免费模板怎么用?
  5. 【MySQL】ON DUPLICATE KEY UPDATE 解决重复插入问题
  6. JDK 7和JDK 8中大行读取速度较慢的原因
  7. c++中的继承--2(继承中的析构函数和构造函数,继承中同名成员,继承中静态成员)
  8. 软考网络工程师笔记-综合知识1
  9. VC++中使用内存映射文件处理大文件
  10. java中操作时间的常用工具类
  11. Virtio-blk Performance Improvement
  12. mongodb objectid java_我可以确定字符串是否是MongoDB ObjectID吗?
  13. html5整个桌面背景图片,HTML5 body设置全屏背景图片 如何让body的背景图片自适应整个屏----实战经验...
  14. python清屏命令-python 命令行里实现clear清屏技巧
  15. UNIX环境高级编程(中文第三版)
  16. 多个jdk配置环境变量
  17. 学习笔记 Tianmao 篇 materialRefreshLayout 下拉刷新 控件的使用
  18. 宁芝普拉姆键盘说明书及帮助文档支持宏定义
  19. (给3d人物模型添加原始动画文件 针对3d模型有动画文件 没有Avatar 没有Animator Controller)
  20. SqlServer 数据库服务器运用

热门文章

  1. 面试官:如果要存ip地址,用什么数据类型比较好?
  2. 设计模式是什么鬼(单例)
  3. SSH实现进销存(ERP)项目之订单管理模块解析(附源码地址)
  4. 深度解读GoogleNet之Inception 系列
  5. git 新建服务器的版本以及项目的用户
  6. String str 与 String str=new String() 区别
  7. ERP-非财务人员的财务培训教(四)------公司/部门的成本与费用控制
  8. jQuery在线选座订座(影院篇)
  9. [转]CentOS设置服务开机自动启动
  10. preprocessor预处理器