Maison  >  Article  >  développement back-end  >  Explication détaillée de la façon dont PHP utilise l'en-tête pour exporter Excel

Explication détaillée de la façon dont PHP utilise l'en-tête pour exporter Excel

小云云
小云云original
2018-05-21 09:11:123166parcourir

Cet article partage principalement avec vous l'explication détaillée de la façon d'exporter Excel à l'aide de l'en-tête PHP. J'espère qu'il pourra vous aider. Jetons d'abord un coup d'œil à l'image d'exemple.

Ceci est le bouton d'exportation execl

<button class="btn btn-success" type="button" id="execl"><i class="icon-search"></i>导出execl</button>
<script>
        $("#execl").click(function(){
           var  data = $("form").serialize();
            location.href = "<{:U(&#39;excel&#39;)}>?"+data;
        });
    </script>
直接把查询条件,全部传值给另外一个连接

lists est la méthode de liste de requêtes, Excel est la méthode d'exportation, appelez la méthode d'origine

Ajoutez 2 codes d'en-tête puis réécrivez le fichier html de la vue et exportez-le directement

function lists()
    {

        I("date") ? $this->date = I("date"):$this->date =date("Y-m");

        $where = $this->query();

        $model = M("project_sign");
        $model->join("JOIN  __PROJECT_USER__ on s_user_id = pu_id");
        $model->join("JOIN  __PROJECT_TEAM__ on s_team_id = t_id");
        $model->join("JOIN  __PROJECT__ on s_project_id = p_id");
        $model->order("s_id desc");
        $results = $model->where($where)->select();

        $res = array();
        foreach($results as $value)
        {
            if(!isset($res[$value[&#39;s_user_id&#39;]][&#39;info&#39;]))
            {
                $res[$value[&#39;s_user_id&#39;]][&#39;info&#39;] = $value;
            }
            if(!isset($res[$value[&#39;s_user_id&#39;]][&#39;sign&#39;]))
            {
                $res[$value[&#39;s_user_id&#39;]][&#39;sign&#39;] = array_pad(array(),32,"");
                unset($res[$value[&#39;s_user_id&#39;]][&#39;sign&#39;][0]);
            }

            $res[$value[&#39;s_user_id&#39;]][&#39;sign&#39;][$value[&#39;s_day&#39;]] = "是";
            $res[$value[&#39;s_user_id&#39;]][&#39;count&#39;]++;
        }

        $this->results = $res;
        $this->display();
    }


    function excel()
    {
        header("Content-type: application/vnd.ms-excel; charset=utf8");
        header("Content-Disposition: attachment; filename=filename.xls");
        $this->lists();
    }

Comme l'excel exporté n'utilise pas de CSS, j'écris directement une vue tableau pure

<html>
<head>
    <meta charset="utf-8">
</head>
<body>
<table border="1" class="table table-border table-bordered table-hover table-bg">
            <tr class="text-c"  >
                <th rowspan="2" >编号</th>
                <th rowspan="2">姓名</th>
                <th rowspan="2">工种</th>
                <th colspan="31"><{$date}></th>
                <th rowspan="2">合计</th>
            </tr>
             <volist name="results" id="value" key="key">
                 <tr   class="text-c">
                    <td>1</td>
                    <td>2</td>
                    <td>3</td>
                    <td>4</td>
                    <td>5</td>
                    <td>6</td>
                    <td>7</td>
                    <td>8</td>
                    <td>9</td>
                    <td>10</td>
                    <td>11</td>
                    <td>12</td>
                    <td>13</td>
                    <td>14</td>
                    <td>15</td>
                    <td>16</td>
                    <td>17</td>
                    <td>18</td>
                    <td>19</td>
                    <td>20</td>
                    <td>21</td>
                    <td>22</td>
                    <td>23</td>
                    <td>24</td>
                    <td>25</td>
                    <td>26</td>
                    <td>27</td>
                    <td>28</td>
                    <td>29</td>
                    <td>30</td>
                    <td>31</td>
                </tr>
                <tr class="text-c">
                    <td><{$key}></td>
                    <td><{$value.info.pu_name}></td>
                    <td><{$value.info.t_name}></td>
                    <volist name="value.sign" id="v">
                        <td><{$v}></td>
                    </volist>
                    <td><{$value.count}></td>
                </tr>

            </volist>
        </table>
</body>
</html>

Après avoir cliqué sur exporter,



s'affiche. Recommandations associées :

js pour exporter du code Excel

Comment créer ou exporter un tableau de données Excel avec PHP

Cinq méthodes JS pour exporter Excel

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn