成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

如何操作thinkphp5.1框架導(dǎo)入/導(dǎo)出excel文件-創(chuàng)新互聯(lián)

這篇文章主要介紹“如何操作thinkphp5.1 框架導(dǎo)入/導(dǎo)出excel文件”,在日常操作中,相信很多人在如何操作thinkphp5.1 框架導(dǎo)入/導(dǎo)出excel文件問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何操作thinkphp5.1 框架導(dǎo)入/導(dǎo)出excel文件”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

創(chuàng)新互聯(lián)專注于桐柏企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站建設(shè)。桐柏網(wǎng)站建設(shè)公司,為桐柏等地區(qū)提供建站服務(wù)。全流程定制開發(fā),專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

thinkphp5.1 導(dǎo)入excel文件

public function importExcel()
  {
    try {
      //獲取表格的大小,限制上傳表格的大小
      if ($_FILES['file']['size'] > 10 * 1024 * 1024) { //文件過大
        log_debug($log_title . 'END === MSG:' . '文件過大');
        parent::endBack(['state' => 0, 'msg' => '文件過大']);
      }
 
      //限制上傳表格類型
      $ext = substr(strrchr($_FILES['file']["name"], '.'), 1);
      if ($ext != 'xls' && $ext != 'xlsx') {
        log_debug($log_title . 'END === MSG:' . '文件格式不正確');
        parent::endBack(['state' => 0, 'msg' => '上傳文件必須為excel表格']);
      }
 
 
      //讀取表格
      $filename = $_FILES['file']['tmp_name'];
      $reader = IOFactory::createReader('Xlsx'); //Xls,Xlsx都可讀取
      $canRead = $reader->canRead($filename);
      if (!$canRead) {
        log_debug($log_title . 'END,文件格式不正確,SQL:' . Db::name('')->getLastSql());
        parent::endBack(['state' => 0, 'msg' => '文件格式不正確', 're_login' => false]);
      }
 
      $spreadsheet = $reader->load($filename); //載入excel表格
      $worksheet = $spreadsheet->getActiveSheet(); //選中sheet表
      $highestRow = $worksheet->getHighestRow(); // 總行數(shù)
//      $highestColumn = $worksheet->getHighestColumn(); // 總列數(shù)
 
      if (!(0 < $highestRow)) {
        log_debug($log_title . 'END,文件內(nèi)容空,SQL:' . Db::name('')->getLastSql());
        parent::endBack(['state' => 0, 'msg' => '文件沒有數(shù)據(jù)', 're_login' => false]);
      }
 
 
      //循環(huán)讀取--有效判斷
      $sst_word_arr = []; //存放敏感詞的數(shù)組
      for ($row = 1; $row <= $highestRow; $row++) {
        //取列數(shù)A列的數(shù)據(jù)
        $tmp_word = $spreadsheet->getActiveSheet()->getCell('A' . $row)->getValue();
        if ('' != trim($tmp_word) && null != $tmp_word) {
          $sst_word_arr[] = $tmp_word;
          break; //發(fā)現(xiàn)有效數(shù)據(jù),直接退出,接下來插入數(shù)據(jù)
        }
      }
//      $sst_word_arr = array_unique($sst_word_arr);
 
      if (empty($sst_word_arr)) {
        log_debug($log_title . 'END,文件無有效數(shù)據(jù),SQL:' . Db::name('')->getLastSql());
        parent::endBack(['state' => 0, 'msg' => '文件無有效數(shù)據(jù)', 're_login' => false]);
      }
 
      //判斷和數(shù)據(jù)庫操作
      for ($row = 2; $row <= $highestRow; $row++) {
        //取列數(shù)A列的數(shù)據(jù)
        $tmp_old_car_num = $spreadsheet->getActiveSheet()->getCell('A' . $row)->getValue();
 
        $car_num = trim($tmp_old_car_num);
        if ('' != $car_num && null != $car_num) {
          //數(shù)據(jù)庫操作
          }
        }
      }
 
      $ret_arr = [
        'state' => 1,
         //返回數(shù)據(jù)
      ];
 
      log_debug($log_title . 'END,SUCCESS');
      parent::endBack($ret_arr);
  } catch (\Exception $e) {
      //
    }
  }

excel文件格式為:

如何操作thinkphp5.1 框架導(dǎo)入/導(dǎo)出excel文件

thinkphp5.1 導(dǎo)出excel文件

namespase app\test;
use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
class test {
  public function carNumsExport()
  {
    $log_title = '測試 => 車牌列表導(dǎo)出[' . __METHOD__ . '] ';
    try {
 
      $file_name = '《車牌列表》from y8zh - ' . $user_info['uid'] . '.xlsx';
      $file_relative_path = parent::$module_name . DIRECTORY_SEPARATOR . 'fcb_car_nums' . DIRECTORY_SEPARATOR;
      $file_path = parent::$api_file_root_path . $file_relative_path;
 
      // 已生成過則直接返回
      if (file_exists($file_path . $file_name)) {
        $ret_arr = [
          'state' => 1,
          'download_url' => parent::$api_file_get_url . $file_relative_path . $file_name,
        ];
        parent::endBack($ret_arr);
      }
 
      if (!is_dir($file_path)) {
        mkdir($file_path, 0777, true);
      }
 
      $spreadsheet = new Spreadsheet();
      $sheet = $spreadsheet->getActiveSheet();
 
      //獲取所有車牌號
      $car_nums = Db::connect('db_config_yun')->name('vechicle')->column('DISTINCT number');
 
      $i = 1;
        $sheet->setCellValue('A' . $i, '車牌號')->getStyle('A' . $i)->getFont()->setBold(true);
        $i++;
 
      // 表內(nèi)容
      if (!empty($car_nums)) {
        foreach ($car_nums as $k_c => $v_c) {
          $sheet->setCellValue('A' . $i, $v_c);
          $i++;
        }
 
      }
 
      $writer = new Xlsx($spreadsheet);
      $writer->save($file_path . $file_name);
      $ret_arr = [
        'state' => 1,
        'download_url' => parent::$api_file_get_url . $file_relative_path . $file_name,
      ];
 
      log_debug($log_title . 'END === DOWNLOAD_URL:' . $ret_arr['download_url']);
      parent::endBack($ret_arr);
  } catch (\Exception $e) {
      //
    }
  }
}

到此,關(guān)于“如何操作thinkphp5.1 框架導(dǎo)入/導(dǎo)出excel文件”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

文章標(biāo)題:如何操作thinkphp5.1框架導(dǎo)入/導(dǎo)出excel文件-創(chuàng)新互聯(lián)
當(dāng)前鏈接:http://jinyejixie.com/article34/jedse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)標(biāo)簽優(yōu)化、營銷型網(wǎng)站建設(shè)、網(wǎng)站排名、網(wǎng)站營銷、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
绥芬河市| 曲阜市| 大石桥市| 罗田县| 太白县| 瓮安县| 屏东县| 松桃| 高陵县| 化德县| 北票市| 万荣县| 隆子县| 信丰县| 宕昌县| 剑河县| 南康市| 西贡区| 高安市| 天柱县| 张北县| 连州市| 伊通| 盱眙县| 嘉义县| 张家口市| 田东县| 剑阁县| 西乌珠穆沁旗| 互助| 岳普湖县| 万年县| 伊金霍洛旗| 洞口县| 荆州市| 永顺县| 金华市| 通河县| 葵青区| 平武县| 阳谷县|