PHP 中导出EXCEL,最原始方法,不用插件
2013-02-21 09:34
477 查看
前言:
PHP 中导出EXCEL 的需求很多,各式各样,PHP的EXCEL 插件也很多,最著名的就是phpexcel了。功能很少强大,导出定制化的EXCEL文档很简单,但是,有时候,比如我们不能使用插件(导出的东西很简单没必要使用,或者不能引入phpexcel插件)。下面开始。
都是利用head()函数来欺骗浏览器,导出EXCEL文件
第一种方法:使用函数head()和 fopen() 和 fputcsv() 来导出csv格式的文件,ecxel可以打开,而且不容易错位,或者打不开的情况,推荐这种
第二种方法:这种方法是直接输出,也还是欺骗浏览器,但是这种方法,当遇到一些字段很长时,excel可能打不开或者格式乱掉
搞定。
PHP 中导出EXCEL 的需求很多,各式各样,PHP的EXCEL 插件也很多,最著名的就是phpexcel了。功能很少强大,导出定制化的EXCEL文档很简单,但是,有时候,比如我们不能使用插件(导出的东西很简单没必要使用,或者不能引入phpexcel插件)。下面开始。
都是利用head()函数来欺骗浏览器,导出EXCEL文件
第一种方法:使用函数head()和 fopen() 和 fputcsv() 来导出csv格式的文件,ecxel可以打开,而且不容易错位,或者打不开的情况,推荐这种
public function export_excel($file_name, $title, $data,title2='',$data2='' ) { // 输出Excel文件头 header('Content-Type: application/vnd.ms-excel'); header("Content-Disposition: attachment;filename = {$file_name}.csv"); header('Cache-Control: max-age=0'); // 打开PHP文件句柄,php://output 表示直接输出到浏览器 $fp = fopen('php://output', 'a'); // 输出Excel列名信息 foreach ($title as $i => $one) { $head[$i] = iconv('utf-8', 'gbk', $one); } // 将数据通过fputcsv写到文件句柄 fputcsv($fp, $head); // 输出Excel内容 foreach ($data as $one) { $row = array(); foreach ($one as $j => $v) { $row[$j] = iconv('utf-8', 'gbk', $v); } fputcsv($fp, $row); } //空格换行 fputcsv($fp, array('')); fputcsv($fp, array('')); fputcsv($fp, array('')); //另一块数据 // 输出Excel列名信息 foreach ($title2 as $i => $one) { $head[$i] = iconv('utf-8', 'gbk', $one); } // 将数据通过fputcsv写到文件句柄 fputcsv($fp, $head); // 输出Excel内容 foreach ($data2 as $one) { $row = array(); foreach ($one as $j => $v) { $row[$j] = iconv('utf-8', 'gbk', $v); } fputcsv($fp, $row); } }
第二种方法:这种方法是直接输出,也还是欺骗浏览器,但是这种方法,当遇到一些字段很长时,excel可能打不开或者格式乱掉
public function export_excel($file_name, $title, $data, $title2 = '', $data2 = '') { header("Content-Type: application/vnd.ms-execl;charset=UTF-8"); header("Content-Disposition: attachment;filename = {$file_name}.xls"); header("Pragma: no-cache"); header("Expires: 0"); foreach ($title as $one) { echo mb_convert_encoding($one, "GB2312", "UTF-8") . "\t"; } echo "\t\n"; foreach ($data as $one_info) { foreach ($one_info as $one) { echo mb_convert_encoding($one, "GB2312", "UTF-8") . "\t"; } echo "\t\n"; } echo "\t\n"; echo "\t\n"; echo "\t\n"; //输入另一块数据。 foreach ($title2 as $one) { echo mb_convert_encoding($one, "GB2312", "UTF-8") . "\t"; } echo "\t\n"; foreach ($data2 as $one_info) { foreach ($one_info as $one) { echo mb_convert_encoding($one, "GB2312", "UTF-8") . "\t"; } echo "\t\n"; } }
搞定。
相关文章推荐
- php把数据表导出为Excel表的最简单、最快的方法(不用插件)
- php把数据表导出为Excel表的最简单、最快的方法(不用插件)
- jquery+php实现导出datatables插件数据到excel的方法
- jquery+php实现导出datatables插件数据到excel的方法
- php不使用插件导出excel的简单方法
- php不使用插件导出excel的简单方法
- php不用第三方类导出excel
- PHP导出MySQL数据库为EXCEL文件格式(.xls)的方法 http://www.kankanblog.com/read.php/144.htm
- php 中mysql导出excel文件方法
- thinkphp中用PHPExcel导出excel表—ajax方法
- phpexcel php导入导出excel表格的简单方法
- PHP 导入导出Excel方法小结
- phpExcel常用方法详解【附有php导出excel加超级链接】
- ThinkPHP+PHPExcel[导入][导出]实现方法
- php导出EXCEL出现乱码的终极解决方法
- PHP导入导出Excel方法小结
- php将数据库导出成excel的方法
- PHP导入导出Excel方法
- 不用插件导出excel
- PHP处理Excel插件PHPExcel常用方法详解