php原生导出excel文件的两种方法(推荐)
2018-09-07 19:18
第一种方法:
$filename=文件名称; $filetitle=你的标题; if($_POST){ set_time_limit(10000); $title = ; ini_set(memory_limit,300M); header(Content-Type: application/vnd.ms-excel;charset=utf-8); $name = $title..xls; header(Content-Disposition: attachment;filename=.$name.); header(Cache-Control: max-age=0); $where = 1=1; $sql = ; $query = DB::Query($sql); // PHP文件句柄,php://output 表示直接输出到浏览器 $fp = fopen(php://output, a); // 输出Excel列头信息 $head = array(ID); //字符替换 $p_new_lines = array(\r\n, \n,\t,\r,\r\n, <pre>,</pre>,<br>,</br>,<br/>); $p_change_line_in_excel_cell = ; foreach($head as $v){ echo iconv(utf-8,gb2312,$v) . \t; } echo \n; // 计数器 $cnt = 0; // 每隔$limit行,刷新一下输出buffer,节约资源 $limit = 100000; // 逐行取出数据,节约内存 while ($res = mysql_fetch_assoc($query)) { $cnt ++; if ($limit == $cnt) { //刷新一下输出buffer,防止由于数据过多造成问题 ob_flush(); flush(); $cnt = 0; } echo trim($res[id]). \t; echo \n; } }
第二种方法:
$filename=文件名称; $filetitle=你的标题; if($_POST){ $title = ; ini_set(memory_limit,300M); header(Content-Type: application/vnd.ms-excel;charset=utf-8); $name = $title..xls; header(Content-Disposition: attachment;filename=.$name.); header(Cache-Control: max-age=0); echo <html xmlns:o=urn:schemas-microsoft-com:office:office xmlns:x=urn:schemas-microsoft-com:office:excel xmlns=文件句柄,php://output 表示直接输出到浏览器 $fp = fopen(php://output, a); // 输出Excel列头信息 $head = array(ID,xxx); //字符替换 $p_new_lines = array(\r\n, \n,\t,\r,\r\n, <pre>,</pre>,<br>,</br>,<br/>); $p_change_line_in_excel_cell = ; echo <table>; echo <tr>; foreach($head as $v){ echo <td>.iconv(utf-8,gb2312,$v).</td>; } echo </tr>; // 逐行取出数据,节约内存 while ($res = mysql_fetch_assoc($query)) { echo <tr>; echo <td style=vnd.ms-excel.numberformat:@>.$res[id].</td>; echo <td>.iconv(utf-8, gb2312, $res[xxx].</td>; echo</tr>; } echo </table>; }
以上这篇php原生导出excel文件的两种方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
上一篇:PHP图片添加水印功能示例小结
下一篇:php email邮箱正则