<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之旅 廣告
                ### 上傳excel,并且將其數據插入數據庫 > php上傳excel需要用到PHPExcel > > 需要composer安裝:composer require phpoffice/phpexcel(該方法最好實時從網上尋找,此不一定管用,以實際為準) > composer安裝完成在方法中使用 ```php use PHPExcel_IOFactory; use PHPExcel; ``` > tp中使用 > ```php // excel上傳 public function excel_upload(){ Db::startTrans(); try { $file = $_FILES['file']; //需要用這種方法接收 $extension = strtolower(pathinfo($file['name'], PATHINFO_EXTENSION)); //pathinfo()函數以數組的形式返回文件路徑的信息 if ($extension == "xlsx") { //2007(相當于是打開接收的這個excel) $objReader = \PHPExcel_IOFactory::createReader('Excel2007'); } else { //2003(相當于是打開接收的這個excel) exit(json_encode(['status' => 0, 'msg' => '不是期望的文件'])); } // 這是另外一種,把表數據分為ABCD等來區分 //載入文件 $PHPExcel = $objReader->load($file['tmp_name']); //獲取表中的第一個工作表,如果要獲取第二個,把0改為1,依次類推 $currentSheet = $PHPExcel->getSheet(0); //獲取總列數 $allColumn = $currentSheet->getHighestColumn(); //獲取總行數 $allRow = $currentSheet->getHighestRow(); //循環獲取表中的數據,$currentRow表示當前行,從哪行開始讀取數據,索引值從0開始 for ($currentRow = 1; $currentRow <= $allRow; $currentRow++) { //從哪列開始,A表示第一列 for ($currentColumn = 'A'; $currentColumn <= $allColumn; $currentColumn++) { //數據坐標 $address = $currentColumn . $currentRow; //讀取到的數據,保存到數組$data中 $cell = $currentSheet->getCell($address)->getValue(); $data[$currentRow - 1][$currentColumn] = $cell; } } // 這是第一種,就是簡單的 $objContent = $objReader->load($file['tmp_name']); //加載緩存文件 $sheetContent = $objContent->getSheet(0) //獲取活動的表格 ->toArray(); // 轉換成數組 $excel_array = $sheetContent[0]; array_shift($sheetContent); $data = []; // 表格數據轉為數組,而且該數組格式固定 foreach ($sheetContent as $k => $v){ $data[$k]['supplier_name'] = $v[0]; $data[$k]['goods_code'] = $v[1]; $data[$k]['goods_name'] = $v[2]; $data[$k]['color'] = $v[3]; $data[$k]['color_code'] = $v[4]; $data[$k]['size_code'] = $v[5]; $data[$k]['size_name'] = $v[6]; $data[$k]['barcode'] = $v[7]; $data[$k]['inventory'] = $v[8]; // 這是判斷店鋪 if (count($v) > 9){ $shops_id = ''; $num = ''; for ($i = 1; $i <= count($v)-9 ; $i++){ // 判斷是否在該店有庫存 if ($v[8+$i] != null){ $shops = Shops::where(['name' => $excel_array[8+$i]])->find(); if (!$shops) throw new Exception('沒有該店鋪'.$excel_array[8+$i].',請在后臺添加', 1); $shops_id = $shops['id'].','.$shops_id; $num = $v[8+$i].','.$num; } } $shops_ids = substr($shops_id,0, strlen($shops_id)-1); $nums = substr($num,0, strlen($num)-1); $data[$k]['num'] = $nums; $data[$k]['shop_id'] = $shops_ids; } } Db::commit(); success(); } catch (Exception $e) { Db::rollback(); error($e->getMessage()); } } ``` ### PHPExcel插入數據庫內存溢出解決方案 - 修改本方法的配置文件,此屬下策方案 > 方法1、擴大php默認分配內存 ``` ini_set("memory_limit", "13312M"); set_time_limit(0); ```
                  <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>

                              哎呀哎呀视频在线观看