PHP导出数据到csv和execl文件
2017-09-18 10:55
656 查看
导出到.csv文件
header函数像客户端发送http报头
需要注意的一点是从数据库中拿出的数据如果过多,就会超过PHP的限制内存(这个内存可以在配置文件中修改,也可以在代码中设置一个临时的),但是如果数据过多设置的是不符合的,我的处理方法是每次从数据库中拿出不超过限制内存的数据,如10000条记录,这样因为是局部变量,所以可以避免,这是遇到的一个bug,因为开发经验不足导致
导出到excel文件:
导出的是 .xls文件,兼容的,有些可能需要跨域的可以在header发送的http报头中加入倒数第三行代码
注意GBK可以识别更多的汉字,之前使用的GBK2312,在使用时报错,自测时没问题,可能是用到的汉字比较少的原因
public function exportData() { $fileName = 'file-'.date('YmdHis', time()). '.csv';//导出的文件名 header("Content-type:text/csv;"); header("Content-Disposition:attachment;filename=" . $fileName); header('Cache-Control:must-revalidate,post-check=0,pre-check=0'); header('Expires:0'); header('Pragma:public'); $titleList = array('username','city','phone'); echo iconv('utf-8','gbk',''.implode(',', $titleList)."\n"); //从数据库中获取数据到arrData foreach ($arrData as $key => $value) { $output = array(); $output[] = $value['username']; $output[] = $value['city']; $output[] = $value['phone']; echo iconv('utf-8','gbk',''.implode(',', $output)."\n"); } }
header函数像客户端发送http报头
需要注意的一点是从数据库中拿出的数据如果过多,就会超过PHP的限制内存(这个内存可以在配置文件中修改,也可以在代码中设置一个临时的),但是如果数据过多设置的是不符合的,我的处理方法是每次从数据库中拿出不超过限制内存的数据,如10000条记录,这样因为是局部变量,所以可以避免,这是遇到的一个bug,因为开发经验不足导致
导出到excel文件:
public function exportGradeData() { $fileName = '123456789';//导出的文件名 header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:filename=".$fileName.".xls"); $strexport = "姓名\t学号\t成绩\r"; //$list为从数据库中拿到的数据 foreach ($list as $row){ $strexport.=$row['name']."\t"; $strexport.=$row['id']."\t"; $strexport.=$row['score']."\r"; } $strexport=iconv('UTF-8','GBK',$strexport); header("Access-Control-Allow-Origin: *"); exit($strexport); }
导出的是 .xls文件,兼容的,有些可能需要跨域的可以在header发送的http报头中加入倒数第三行代码
注意GBK可以识别更多的汉字,之前使用的GBK2312,在使用时报错,自测时没问题,可能是用到的汉字比较少的原因
相关文章推荐
- php导出数据为CSV文件DEMO
- PHP(Thinkphp框架)将数据表导出csv文件
- PHP批量导入和导出数据为CSV文件 (自适应版)
- php数据导入导出之excel(csv文件)
- php导出csv数据在浏览器中输出提供下载或保存到文件的示例
- php导出csv数据在浏览器中输出提供下载或保存到文件的示例
- php数据导入导出之excel(csv文件)
- php导出csv数据在浏览器中输出提供下载或保存到文件的示例
- php+mysql导出CSV数据文件
- php导出大数据保存到csv文件
- php使用指定编码导出mysql数据到csv文件的方法
- PHP导出数据到CSV文件
- php 用csv文件导出大量数据初方案
- 用php导入10W条+ 级别的csv大文件数据到mysql。导出10W+级别数据到csv文件
- php 导出大数据到csv文件
- php数据导入导出之excel(csv文件)
- PHP导出数据到CSV文件
- PHP导出MySQL数据到Excel或者CSV文件
- 用php导入10W条+ 级别的csv大文件数据到mysql。导出10W+级别数据到csv文件
- php 用csv文件导出大量数据初方案