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 相关文章推荐
PHP学习资料汇总与网址
Mar 16 PHP
Discuz板块横排显示图片的实现方法
May 28 PHP
PHP基础之运算符的使用方法
Apr 28 PHP
从PHP $_SERVER相关参数判断是否支持Rewrite模块
Sep 26 PHP
smarty简单分页的实现方法
Oct 27 PHP
给ECShop添加最新评论
Jan 07 PHP
PHP动态输出JavaScript代码实例
Feb 12 PHP
PHP多态代码实例
Jun 26 PHP
使用PHP如何实现高效安全的ftp服务器(二)
Dec 30 PHP
PHP生成图片验证码功能示例
Jan 12 PHP
PHP7创建销毁session的实例方法
Feb 03 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
Mar 26 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 加密解密内部算法
2010/04/22 PHP
基于PHP编程注意事项的小结
2013/04/27 PHP
php 地区分类排序算法
2013/07/01 PHP
PHP新建类问题分析及解决思路
2015/11/19 PHP
php5.5使用PHPMailer-5.2发送邮件的完整步骤
2018/10/14 PHP
基于PHP实现发微博动态代码实例
2020/12/11 PHP
javascript里的条件判断
2007/02/27 Javascript
Javascript 写的简单进度条控件
2008/01/22 Javascript
javascript中的float运算精度实例分析
2010/08/21 Javascript
jquery获取自定义属性(attr和prop)实例介绍
2013/04/21 Javascript
js的匿名函数使用介绍
2013/12/11 Javascript
一个奇葩的最短的 IE 版本判断JS脚本
2014/05/28 Javascript
jQuery中:nth-child选择器用法实例
2014/12/31 Javascript
javascript中Math.random()使用详解
2015/04/15 Javascript
JS实现的最简Table选项卡效果
2015/10/14 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
Web性能优化系列 10个提升JavaScript性能的技巧
2016/09/27 Javascript
js实现下拉菜单效果
2017/03/01 Javascript
vue.js学习之UI组件开发教程
2017/07/03 Javascript
详解基于vue的移动web app页面缓存解决方案
2017/08/03 Javascript
浅谈React 服务器端渲染的使用
2018/05/08 Javascript
vue左侧菜单,树形图递归实现代码
2018/08/24 Javascript
GOJS+VUE实现流程图效果
2018/12/01 Javascript
Vue export import 导入导出的多种方式与区别介绍
2020/02/12 Javascript
Vue实现手机号、验证码登录(60s禁用倒计时)
2020/12/19 Vue.js
[03:14]2014DOTA2西雅图国际邀请赛 EG战队巡礼
2014/07/07 DOTA
[04:45]上海特级锦标赛主赛事第三日TOP10
2016/03/05 DOTA
python字符串的方法与操作大全
2018/01/30 Python
Python实现的圆形绘制(画圆)示例
2018/01/31 Python
Python3将ipa包中的文件按大小排序
2020/04/17 Python
Python3创建Django项目的几种方法(3种)
2020/06/03 Python
餐厅考勤管理制度
2014/01/28 职场文书
食品安全标语
2014/06/07 职场文书
学生喝酒检讨书500字
2014/11/02 职场文书
2014年安全生产工作总结
2014/11/13 职场文书
大学毕业生自我评价
2015/03/02 职场文书