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截取中文字符串的问题
Jul 12 PHP
整合了前面的PHP数据库连接类~~做成一个分页类!
Nov 25 PHP
PHP 的 __FILE__ 常量
Jan 15 PHP
PHP中return 和 exit 、break和contiue 区别与用法
Apr 09 PHP
apache和php之间协同工作的配置经验分享
Apr 08 PHP
解析php中的escape函数
Jun 29 PHP
php的ajax简单实例
Feb 27 PHP
php数组合并array_merge()函数使用注意事项
Jun 19 PHP
PHP-FPM实现性能优化
Mar 31 PHP
使用YII2框架实现微信公众号中表单提交功能
Sep 04 PHP
Laravel中为什么不使用blpop取队列详析
Aug 01 PHP
关于laravel 子查询 &amp; join的使用
Oct 16 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过滤危险html代码
2008/08/18 PHP
PHP生成Flash动画的实现代码
2010/03/12 PHP
php长字符串定义方法
2012/07/12 PHP
php使用ffmpeg获取视频信息并截图的实现方法
2016/05/03 PHP
php使用curl代理实现抓取数据的方法
2017/02/03 PHP
利用JQuery的load函数动态加载其它页面的内容的实现代码
2010/12/14 Javascript
文字不间断滚动(上下左右)实例代码
2013/04/21 Javascript
javascript中兼容主流浏览器的动态生成iframe方法
2014/05/05 Javascript
随鼠标移动的时钟非常漂亮遗憾的是只支持IE
2014/08/12 Javascript
Javascript 多物体运动的实现
2014/12/24 Javascript
javascript 构造函数方式定义对象
2015/01/02 Javascript
javascript实现表格排序 编辑 拖拽 缩放
2015/01/02 Javascript
AngularJS的一些基本样式初窥
2015/07/27 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
2016/03/29 Javascript
快速解决Canvas.toDataURL 图片跨域的问题
2016/05/10 Javascript
jQuery仿京东商城楼梯式导航定位菜单
2016/07/25 Javascript
javascript self对象使用详解
2016/10/18 Javascript
jQuery UI制作选项卡(tabs)
2016/12/13 Javascript
js实现移动端编辑添加地址【模仿京东】
2017/04/28 Javascript
Bootstrap实现基于carousel.js框架的轮播图效果
2017/05/02 Javascript
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
2019/12/04 Javascript
总结python爬虫抓站的实用技巧
2016/08/09 Python
Python流行ORM框架sqlalchemy安装与使用教程
2019/06/04 Python
python设计tcp数据包协议类的例子
2019/07/23 Python
python实现银行管理系统
2019/10/25 Python
使用Python串口实时显示数据并绘图的例子
2019/12/26 Python
解决Django no such table: django_session的问题
2020/04/07 Python
葡萄牙鞋子品牌:Fair
2016/12/10 全球购物
既然说Ruby中一切都是对象,那么Ruby中类也是对象吗
2013/01/26 面试题
项目专员岗位职责
2013/12/04 职场文书
会计学习心得体会
2014/09/09 职场文书
管理者日常工作必备:22条企业管理流程模板!
2019/07/12 职场文书
Python3 如何开启自带http服务
2021/05/18 Python
基于Python实现股票收益率分析
2022/04/02 Python
Java 多态分析
2022/04/26 Java/Android
MySQL事务的隔离级别详情
2022/07/15 MySQL