<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                首先我們需要用Composer安裝一個導出組件:[kartik-v/yii2-export](https://github.com/kartik-v/yii2-export) > 這個組件依賴一個PDF導出組件[kartik-v/yii2-mpdf](https://github.com/kartik-v/yii2-mpdf),100多M,所以安裝可能很慢,需要耐心等候 > 不過新版本好像默認不依賴此PDF組件了 安裝完畢后,打開`config/web.php`,給`$config`變量添加一個成員: ```php 'modules' => [ 'gridview' => [ 'class' => 'kartik\grid\Module', ], ], ``` 打開相應的視圖文件,例如`views/user/index.php`,修改默認`GridView`的命名空間,并引用導出菜單類 ```php use kartik\grid\GridView; use kartik\export\ExportMenu; ``` 用一個變量來記錄需要顯示及導出的字段信息,例如 ```php $gridColumns = [ ['class' => 'yii\grid\SerialColumn'], 'id', 'name', ['class' => 'yii\grid\ActionColumn'], ]; ``` 因為字段信息需要分別在導出菜單和表格視圖中用到,所以用一個變量記錄起來會比較方便調用、修改等 然后創建導出菜單。這里直接貼出我的代碼,順便介紹幾個常用的可選參數 ```php <?= ExportMenu::widget([ 'dataProvider' => $dataProvider, 'columns' => $gridColumns, 'encoding' => 'gb2312', 'dropdownOptions' => [ 'label' => '導出', 'class' => 'btn btn-default' ], 'exportConfig' => [ ExportMenu::FORMAT_TEXT => false, ExportMenu::FORMAT_PDF => false, ExportMenu::FORMAT_EXCEL_X => FALSE, ], 'columnSelectorOptions'=>[ 'label' => '選擇字段', ], 'filename' => '試用申請列表_'.date('Y-m-d'), 'selectedColumns'=> [1, 2], // 導出不選中#和操作欄 'hiddenColumns'=>[0, 3], // 隱藏#和操作欄 ])?> ``` 我來解釋一下這些參數的含義吧: `encoding`:默認為UTF-8。為何我這里要設為GB2312呢?因為導出功能很多時候都需要導出excel表格,而excel表格多半使用office而不是WPS打開,而中文office不支持UTF8的表格,打開會亂碼,所以只能用GB2312。而WPS在UTF8表格上就支持得挺好,表揚一個 `dropdownOptions`:導出按鈕選項。可以設置導出文案之類 `exportConfig`:導出選項。我這里禁用了文本文檔、PDF、Excel2007+的導出方式。禁文本文檔是因為不美觀,而且沒啥意義;禁PDF是因為上面提到的PDF導出依賴組件太大(100+MB)且從項目需求上不需要導出pdf,所以我把這組件remove了;禁Excel2007+是因為在線上報錯,可能是某個PHP擴展沒開,沒去深究,反正Excel95格式夠用了 `columnSelectorOptions`:相信大家都能理解 `filename`:即導出文件名 `selectedColumns`:默認導出的字段。不添加此參數時默認選中全部,也會選中第一列自增序列`#`和最后一列操作列(就是默認有“查看修改刪除”三大功能的那一列)。導出時如果不需要這些的話,就得添加此參數,并填寫需要導出的字段的索引值,從0開始(0即`#`列) `hiddenColumns`:在導出菜單中隱藏的字段。隱藏后用戶將無法手動選擇導出#欄及操作欄 接下來創建表格視圖,直接貼代碼 ```php <?= GridView::widget([ 'dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'filterSelector' => "input[name='".$dataProvider->getPagination()->pageParam."']", 'columns' => $gridColumns, 'export' => false, ]); ?> ``` 其中的`export`參數需要講講。上面講到有個很大的PDF導出組件[kartik-v/yii2-mpdf](https://github.com/kartik-v/yii2-mpdf),我嫌它沒用(項目需求只是需要導出excel),就把它remove了,但緊接著導出組件就報錯了。翻了好久[官方文檔](http://demos.krajee.com/export)都沒找到解決方案,好氣噢。結果我一頓瞎摸索,發現填寫了這個參數并賦值`false`即可解決remove掉pdf組件后導出組件報錯的問題,并且不影響其他格式的正常導出 至此,導出組件應該能夠正常工作了。Enjoy it!
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看