<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                **簡介** 但我們使用PHP框架進行項目開發的時候,難免會遇到一些數據導入的需求,比如后臺導入用戶,導入訂單數據等等,通常解決方案都是compose引入excel插件,先將文件上傳到服務器,將文件中的數據讀取到內存中,再插入數據表中。 **excel插件導入實現** 1、我們以laravel5.5框架為例 a、首先在更目錄下安裝excel插件: ``` composer require “maatwebsite/excel:~2.1.0” ``` b、在config/app.php中注冊服務提供者到provides數組: ``` Maatwebsite\Excel\ExcelServiceProvider::class ``` c、在config/app.php中注冊到aliases數組: ``` ‘Excel’ => Maatwebsite\Excel\Facades\Excel::class, ``` d、生成Laravel excel的配置文件: ``` php artisan vendor:publish --provider=“Maatwebsite\Excel\ExcelServiceProvider” ``` e、控制器代碼實現 ``` public function import(Request $req){ try { //獲取上傳的excel文件 $filePath = $req->get('report'); Excel::load($filePath, function($reader) { $data = $reader->all(); //批量存儲 //返回導入結果 throw new Exception("成功導入了".$count."條數據"); }); }catch(Exception $e){ return $this->doFailure($e); } } ``` **存在的問題** 當excel表格的數據量過大時,會很消耗內存,有可能導致內存溢,因而當導入數據量比較大的數據時可用以下方案: **mysql load data infile** a、首先同樣要把需要導入的文件上傳至服務器,而且文件格式最好是csv,TXT,.sql的格式 b、通過shell腳本發方式執行登錄數據庫以及導入操作 ``` #!/bin/bash #!/bin/bash mysql -uroot -p123456 <<EOF use test; load data local infile '/www/import.csv' into table device fields terminated by',' lines terminated by'\n' ignore 1 lines (@col1) set deviceName=@col1; EOF #忽略首列,設置字段對應列 ``` c、這時只需在controller中待文件上傳完成通過php的system函數執行以上腳本即可 ``` system("cd /腳本位置 && sh ./import.sh",$result); ``` ## 總結 ``` 可以說mysql load data infile 是秒級響應,而當你用excel插件去導入的時候,發現會等待一段時間,所以看具體需求,如果需要導入的數據量足夠大的話可以考慮使用第二種方式進行,當數據量不大時可以使用excel,要注意的是xlxs的格式需要轉化成csv的格式。 ```
                  <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>

                              哎呀哎呀视频在线观看