zoukankan      html  css  js  c++  java
  • PHP输出Excel两种方法

    2016年3月23日 16:43:51 星期三

    第一种: 输出html+css格式, 打开后用Excel软件的"另存为"功能保存为正规的表格格式

     1 public function echoExcel($list)
     2 {
     3     $body = '';
     4     $tr = '<tr style="border-right: 1px solid lightgrey;border-bottom: 1px solid lightgrey;">';
     5     $tds = '<td>';
     6     $tde = '</td>';
     7 
     8     $title = $tr.'<td>aaa</td>
     9         <td>bbb</td>
    10         </tr>';
    11     $userModel = new UserModel();
    12     foreach ($list as $v) {
    13         $aaa   = $tds.$v['aaa'].$tde;
    14         $bbb   = $tds.$v['bbb'].$tde;
    15         $body .= $tr.$aaa.$bbb.'</tr>';
    16     }
    17 
    18     header('Content-Type: application/vnd.ms-excel');
    19     header('Content-Disposition: attachment;filename="'.date('Y_m_d_H_i_s').'.xls"');
    20     
    21 $table = '<table style="border: 1px solid lightgrey; border-collapse: collapse;">'; 22 echo $table.$title.$body.'</table>'; 23 exit; 24 }

     注意: mac打不开, mac与windows打开excel的软件不同

    windows打开后可以另存为正规格式的excel

    第二种: 不用css, 只用逗号, 以csv的方式输出

     1 function export()
     2 {
     3     $list = [
     4         ['1111', '2222'],
     5         ['1111', '2222'],
     6     ];
     7     $content = 'aaa,bbb'.PHP_EOL;//csv标题
     8     foreach ($list as $line) {
     9         $content .= implode(',', $line).PHP_EOL;
    10     }
    11 
    12     //下载文件需要用到的头
    13     header('Content-type: application/octet-stream');
    14     header('Accept-Ranges: bytes');
    15     header('Accept-Length:' . strlen($content));
    16     header('Content-Disposition: attachment; filename='.date('YmdHis').'.csv');
    17     echo "xEFxBBxBF"; //utf-8 bom
    18     echo $content;
    19 }

    注意, 使用的时候, 在新窗口打开, 不要用ajax请求:

    <a href="/export" target="_blank">
  • 相关阅读:
    题解 CF700E Cool Slogans
    题解 LOJ2065 「SDOI2016」模式字符串
    以guest账号无密码访问设置
    共享
    计算机的C$共享在哪里
    网卡工作原理
    iperf网络测试
    Jmeter安装与使用(压测)
    压测工具使用(vegeta)
    Alertmanager 安装(k8s报警)
  • 原文地址:https://www.cnblogs.com/iLoveMyD/p/5311807.html
Copyright © 2011-2022 走看看