php 方便快捷导出excel

/**
     * 导出excel
     * @param array $column
     * eg: $column = [
     *    'username' => '姓名',
     *    'age' => '年龄',
     *    'sex' => '性别'
     * ]
     * @param array $data
     * eg: $data = [
     *     ['username' => 'yht', 'age'=>20, 'sex'=>'男'],
     *     ['username' => 'jsh', 'age'=>18, 'sex'=>'女'],
     *     ['username' => 'klerk', 'age'=>25, 'sex'=>'男'],
     * ]
     */
    public static function exportExcel($column, $data)
    {
        $keys = array_keys($column);

        header("Content-type:application/vnd.ms-excel");
        header("Content-Disposition:attachment;filename=export_data.xls");

        $html = '<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">';
        $html .= '  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';
        $html .= '    <html> ';
        $html .= '    <head> ';
        $html .= '        <meta http-equiv="Content-type" content="text/html;charset=UTF-8" /> ';
        $html .= '        <style id="Classeur1_16681_Styles"></style> ';
        $html .= '    </head> ';
        $html .= '    <body border=1> ';
        $html .= '        <div id="Classeur1_16681" align=center x:publishsource="Excel"> ';
        $html .= '        <table x:str border=1 cellpadding=1 cellspacing=1 width=100% style="border-collapse: collapse">';
        $html .= '            <tr>';
        foreach($column as $key => $value){
            $html .= '            <td>' . Html::encode($value) . '</td>';
        }
        $html .= '            </tr>';
        if($data) {
            foreach ($data as $key => $value) {
                $html .= '    <tr>';
                foreach ($keys as $val){
                    $html .= '     <td>' . $value[$val] . '</td>';
                }
                $html .= '    </tr>';
            }
        }
        $html .= '        </table> ';
        $html .= '        </div> ';
        $html .= '    </body> ';
        $html .= ' </html> ';
        echo $html;
    }

  

原文地址:https://www.cnblogs.com/freespider/p/5897085.html