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 相关文章推荐
第八节 访问方式 [8]
Oct 09 PHP
php 需要掌握的东西 不做浮躁的人
Dec 28 PHP
JpGraph php柱状图使用介绍
Aug 23 PHP
php在文件指定行中写入代码的方法
May 23 PHP
用Json实现PHP与JavaScript间数据交换的方法详解
Jun 20 PHP
百度ping方法使用示例 自动ping百度
Jan 26 PHP
thinkphp验证码显示不出来的解决方法
Mar 29 PHP
PHP小技巧之JS和CSS优化工具Minify的使用方法
May 19 PHP
PHP内置过滤器FILTER使用实例
Jun 25 PHP
php实现修改新闻时删除图片的方法
May 12 PHP
PHP中函数gzuncompress无法使用的解决方法
Mar 02 PHP
yii2实现Ueditor百度编辑器的示例代码
Nov 02 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 Parse Error: syntax error, unexpected $end 错误的解决办法
2012/06/05 PHP
PHP管理内存函数 memory_get_usage()使用介绍
2012/09/23 PHP
php一次性删除前台checkbox多选内容的方法
2013/09/22 PHP
is_uploaded_file函数引发的不能上传文件问题
2013/10/29 PHP
php生成QRcode实例
2014/09/22 PHP
php创建session的方法实例详解
2015/01/27 PHP
php判断访问IP的方法
2015/06/19 PHP
php判断数组是否为空的实例方法
2020/05/10 PHP
javascript读取RSS数据
2007/01/20 Javascript
可以文本显示的公告栏的js代码
2007/03/11 Javascript
得到jQuery detach()后节点中的某个值实现代码
2013/02/05 Javascript
JavaScript高级程序设计(第三版)学习笔记1~5章
2016/03/11 Javascript
javascript解析ajax返回的xml和json格式数据实例详解
2017/01/05 Javascript
JS分页的实现(同步与异步)
2017/09/16 Javascript
js实现扫雷小程序的示例代码
2017/09/27 Javascript
angular 用Observable实现异步调用的方法
2018/12/27 Javascript
JavaScript遍历查找数组中最大值与最小值的方法示例
2019/05/24 Javascript
关于vue组件事件属性穿透详解
2019/10/28 Javascript
解决vue-router路由拦截造成死循环问题
2020/08/05 Javascript
Python求两个list的差集、交集与并集的方法
2014/11/01 Python
Windows下安装python2.7及科学计算套装
2015/03/05 Python
python去掉行尾的换行符方法
2017/01/04 Python
python进程管理工具supervisor的安装与使用教程
2017/09/05 Python
Python去除、替换字符串空格的处理方法
2018/04/01 Python
关于python写入文件自动换行的问题
2018/06/23 Python
Python数据结构与算法(几种排序)小结
2019/06/22 Python
python3 常见解密加密算法实例分析【base64、MD5等】
2019/12/19 Python
PyTorch的SoftMax交叉熵损失和梯度用法
2020/01/15 Python
HTML5学习笔记之html5与传统html区别
2016/01/06 HTML / CSS
日本面向世界,国际级的免税在线购物商城:DOKODEMO
2017/02/01 全球购物
新西兰最大的连锁超市:Countdown
2020/06/04 全球购物
XML文档面试题
2015/08/05 面试题
建议书怎么写
2014/03/12 职场文书
工作说明书范文
2014/05/07 职场文书
小学教师师德师风演讲稿
2014/08/22 职场文书
工会经费申请报告
2015/05/15 职场文书