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 相关文章推荐
example1.php
Oct 09 PHP
PHP基础陷阱题(变量赋值)
Sep 12 PHP
PHP批量采集下载美女图片的实现代码
Jun 03 PHP
php中文乱码怎么办如何让浏览器自动识别utf-8
Jan 15 PHP
PHP伪静态Rewrite设置之APACHE篇
Jul 30 PHP
一个图片地址分解程序(用于PHP小偷程序)
Aug 23 PHP
php实现将任意进制数转换成10进制的方法
Apr 17 PHP
利用php输出不同的心形图案
Apr 22 PHP
PHP 网站修改默认访问文件的nginx配置
May 27 PHP
php获取ajax的headers方法与内容实例
Dec 27 PHP
thinkPHP事务操作简单案例分析
Oct 17 PHP
TP5框架页面跳转样式操作示例
Apr 05 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实现登陆验证码(类似条行码状)
2006/10/09 PHP
web站点获取用户IP的安全方法 HTTP_X_FORWARDED_FOR检验
2013/06/01 PHP
PHP简单生成缩略图相册的方法
2015/07/29 PHP
php获取远程文件内容的函数
2015/11/02 PHP
phpinfo() 中 Local Value(局部变量)Master Value(主变量) 的区别
2016/02/03 PHP
枚举JavaScript对象的函数
2006/12/22 Javascript
DWR Ext 加载数据
2009/03/22 Javascript
jQuery 核心函数以及jQuery对象
2010/03/23 Javascript
通过下拉框的值来确定输入框是否可以为空的代码
2011/10/18 Javascript
jquery showModelDialog的使用方法示例详解
2013/11/19 Javascript
推荐25个超炫的jQuery网格插件
2014/11/28 Javascript
JavaScript获取DOM元素的11种方法总结
2015/04/25 Javascript
JS 对象(Object)和字符串(String)互转方法
2016/05/20 Javascript
vue.js实现表格合并示例代码
2016/11/30 Javascript
JS 判断某变量是否为某数组中的一个值的3种方法(总结)
2017/07/10 Javascript
浅谈Vue.js应用的四种AJAX请求数据模式
2017/08/30 Javascript
js的函数的按值传递参数(实例讲解)
2017/11/16 Javascript
node打造微信个人号机器人的方法示例
2018/04/26 Javascript
浅谈react性能优化的方法
2018/09/05 Javascript
Javascript地址引用代码实例解析
2020/02/25 Javascript
详解ES6中class的实现原理
2020/10/03 Javascript
python对url格式解析的方法
2015/05/13 Python
Flask框架响应、调度方法和蓝图操作实例分析
2018/07/24 Python
Python字典循环添加一键多值的用法实例
2019/01/20 Python
pyqt5实现绘制ui,列表窗口,滚动窗口显示图片的方法
2019/06/20 Python
python数据预处理 :数据共线性处理详解
2020/02/24 Python
Python数据正态性检验实现过程
2020/04/18 Python
pytorch 多分类问题,计算百分比操作
2020/07/09 Python
pycharm 如何取消连按两下shift出现的全局搜索
2021/01/15 Python
python 将Excel转Word的示例
2021/03/02 Python
Web前端页面跳转并取到值
2017/04/24 HTML / CSS
在线服装零售商:SheIn
2016/07/22 全球购物
教师专业理论水平的自我评价分享
2013/11/09 职场文书
军训自我鉴定
2013/12/14 职场文书
致标枪运动员加油稿
2014/02/15 职场文书
医生行业员工的辞职信
2019/06/24 职场文书