《PHP学习:php原生导出excel文件的两种方法(推荐)》要点:
本文介绍了PHP学习:php原生导出excel文件的两种方法(推荐),希望对您有用。如果有疑问,可以联系我们。
PHP教程第一种方法:
- PHP教程
- $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";
- }
- }
PHP教程第二种方法:
- PHP教程
- $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="http://www.w3.org/TR/REC-html40">
- <head>
- <meta http-equiv="expires" content="Mon, 06 Jan 1999 00:00:01 GMT">
- <meta http-equiv=Content-Type content="text/html; charset=gb2312">
- <!--[if gte mso 9]><xml>
- <x:ExcelWorkbook>
- <x:ExcelWorksheets>
- <x:ExcelWorksheet>
- <x:Name></x:Name>
- <x:WorksheetOptions>
- <x:DisplayGridlines/>
- </x:WorksheetOptions>
- </x:ExcelWorksheet>
- </x:ExcelWorksheets>
- </x:ExcelWorkbook>
- </xml><![endif]-->
- </head>';
- $where = "1=1";
- $sql = " ";
- mysql_query('set names "utf8"');
- mysql_set_charset('utf8');
- $query = DB::Query($sql);
- // PHP文件句柄,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教程以上这篇php原生导出excel文件的两种方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持维易PHP.
转载请注明本页网址:
http://www.vephp.com/jiaocheng/2633.html