随笔 - 347  文章 - 1 评论 - 44 阅读 - 201万
< 2025年1月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/**
     * 导出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;
    }

  

posted on   FreeSpider  阅读(284)  评论(0编辑  收藏  举报
编辑推荐:
· .NET 依赖注入中的 Captive Dependency
· .NET Core 对象分配(Alloc)底层原理浅谈
· 聊一聊 C#异步 任务延续的三种底层玩法
· 敏捷开发:如何高效开每日站会
· 为什么 .NET8线程池 容易引发线程饥饿
阅读排行:
· 终于决定:把自己家的能源管理系统开源了!
· C#实现 Winform 程序在系统托盘显示图标 & 开机自启动
· 了解 ASP.NET Core 中的中间件
· 实现windows下简单的自动化窗口管理
· 【C语言学习】——命令行编译运行 C 语言程序的完整流程
历史上的今天:
2013-09-22 使用phpexcel导出到xls文件的时候出现乱码解决
点击右上角即可分享
微信分享提示