php原生导出excel文件的两种方法(推荐)


Posted in PHP onNovember 19, 2016

第一种方法:

$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="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原生导出excel文件的两种方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
Smarty模板快速入门
Jan 04 PHP
PHP函数学习之PHP函数点评
Jul 05 PHP
表格展示无限级分类(PHP版)
Aug 21 PHP
php中文乱码怎么办如何让浏览器自动识别utf-8
Jan 15 PHP
linux下安装php的memcached客户端
Aug 03 PHP
PHP树的深度编历生成迷宫及A*自动寻路算法实例分析
Mar 10 PHP
PHP之正则表达式捕获组与非捕获组(详解)
Jul 29 PHP
php上传大文件设置方法
Apr 14 PHP
php调用自己java程序的方法详解
May 13 PHP
php文件系统处理方法小结
May 23 PHP
PHP实现的防止跨站和xss攻击代码【来自阿里云】
Jan 29 PHP
PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
May 30 PHP
php socket通信简单实现
Nov 18 #PHP
php微信开发之自定义菜单实现
Nov 18 #PHP
php微信开发之百度天气预报
Nov 18 #PHP
PHP-FPM运行状态的实时查看及监控详解
Nov 18 #PHP
PHP+iframe图片上传实现即时刷新效果
Nov 18 #PHP
PHP批量获取网页中所有固定种子链接的方法
Nov 18 #PHP
PHP实现二维数组按某列进行排序的方法
Nov 18 #PHP
You might like
php实现屏蔽掉黑帽SEO的搜索关键字
2015/04/15 PHP
使用php从身份证号中获取一系列线索(星座、生肖、生日等)
2016/05/11 PHP
Zend Framework过滤器Zend_Filter用法详解
2016/12/09 PHP
YII2 实现多语言配置的方法分享
2017/01/11 PHP
php无限级分类实现评论及回复功能
2019/02/18 PHP
JQuery 学习笔记 选择器之六
2009/07/23 Javascript
用Javascript同时提交多个Web表单的方法
2009/12/26 Javascript
jquery中dom操作和事件的实例学习 仿yahoo邮箱登录框的提示效果
2011/11/30 Javascript
js实现在字符串中提取数字
2013/11/05 Javascript
jquery 自定义容器下雨效果可将下雨图标改为其他
2014/04/23 Javascript
JavaScript设计模式之原型模式(Object.create与prototype)介绍
2014/12/28 Javascript
jQuery简单实现禁用右键菜单
2015/03/10 Javascript
javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码
2015/08/04 Javascript
JavaScript中rem布局在react中的应用
2015/12/09 Javascript
JavaScript必知必会(九)function 说起 闭包问题
2016/06/08 Javascript
JavaScript Promise 用法
2016/06/14 Javascript
详解Windows下安装Nodejs步骤
2017/05/18 NodeJs
微信小程序使用modal组件弹出对话框功能示例
2017/11/29 Javascript
Vue项目引发的「过滤器」使用教程
2019/03/12 Javascript
Python实现二维有序数组查找的方法
2016/04/27 Python
Python3处理HTTP请求的实例
2018/05/10 Python
通过python顺序修改文件名字的方法
2018/07/11 Python
Python绘制KS曲线的实现方法
2018/08/13 Python
pandas通过loc生成新的列方法
2018/11/28 Python
Python设计模式之抽象工厂模式原理与用法详解
2019/01/15 Python
Python中super函数用法实例分析
2019/03/18 Python
python selenium实现发送带附件的邮件代码实例
2019/12/10 Python
Python pip安装第三方库实现过程解析
2020/07/09 Python
基于Python组装jmx并调用JMeter实现压力测试
2020/11/03 Python
详解HTML5中rel属性的prefetch预加载功能使用
2016/05/06 HTML / CSS
eBay澳大利亚站:eBay.com.au
2018/02/02 全球购物
银行职业规划书范文
2013/12/28 职场文书
收银出纳员岗位职责
2014/02/23 职场文书
节约用水演讲稿
2014/05/21 职场文书
党课心得体会范文
2014/09/09 职场文书
初中重阳节活动总结
2015/05/05 职场文书