> 백엔드 개발 > PHP 튜토리얼 > PHP가 헤더를 사용하여 Excel을 내보내는 방법에 대한 자세한 설명

PHP가 헤더를 사용하여 Excel을 내보내는 방법에 대한 자세한 설명

小云云
풀어 주다: 2023-03-22 20:32:01
원래의
3178명이 탐색했습니다.

이 글은 주로 PHP에서 헤더를 사용하여 Excel을 내보내는 방법에 대한 자세한 설명을 공유합니다. 먼저 예제 사진을 살펴보겠습니다.

이것은 내보내기 실행 버튼입니다

<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는 쿼리의 목록 메서드, Excel은 내보내기 메서드입니다. 원래 메서드를 다시 호출합니다.

헤더 코드 2개를 추가한 다음 뷰 html 파일을 다시 작성하고 직접 내보내기

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();
    }
로그인 후 복사

내보낸 엑셀은 CSS를 사용하지 않기 때문에 순수 테이블 뷰를 직접 작성합니다

<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>
로그인 후 복사

내보내기를 클릭하면 표시됩니다



관련 추천 :

js 내보내기 코드 구현

js

PHP 생성 또는 Excel 데이터 테이블을 내보내는 방법

Excel을 내보내는 다섯 가지 JS 방법🎜🎜

위 내용은 PHP가 헤더를 사용하여 Excel을 내보내는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿