php导出生成excel表格几种方法介绍
利用php导出excel我们大多会直接生成 csv文件,这种方便快捷如果不是要求很高,完全可以利用csv 来实例了,这是最简单的了,代码如下:
<?php header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:attachment;filename=test_data.xls"); $tx = '表头'; echo $tx . "\n\n"; //输出内容如下: echo "姓名" . "\t"; echo "年龄" . "\t"; echo "学历" . "\t"; echo "n"; echo "张三" . "\t"; echo "25" . "\t"; echo "本科" . "\t"; ?>
如果你一定要输入xls标准的excel文件可参考下面方法,代码如下:
<?php /** * 输出XLS的头信息 * 注:使用此函数前后都不应有任何数据输出 * @param $data Array 下载的数据 * @param $file_name String 下载的文件名 */ function outputXlsHeader($data, $file_name = 'export') { header('Content-Type: text/xls'); header("Content-type:application/vnd.ms-excel;charset=utf-8"); $str = mb_convert_encoding($file_name, 'gbk', 'utf-8'); header('Content-Disposition: attachment;filename="' . $str . '.xls"'); header('Cache-Control:must-revalidate,post-check=0,pre-check=0'); header('Expires:0'); header('Pragma:public'); $table_data = '<table border="1">'; foreach ($data as $line) { $table_data.= '<tr>'; foreach ($line as $key => & $item) { $item = mb_convert_encoding($item, 'gbk', 'utf-8'); $table_data.= '<td>' . $item . '</td>'; } $table_data.= '</tr>'; } $table_data.= '</table>'; echo $table_data; die(); } ?>
下面还推荐一下第三方的做法.
引用google code中推荐的小类库(大体同方法一,比较复杂点):http://code.google.com/p/php-excel/downloads/list
PHPEXCEL 类库,功能强大,支持win Excel2003 ,Win Excel2007.
文章网址:http://www.phprm.com/develop/fs4104.html
随意转载^^但请附上教程地址。