婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > thinkphp5.1 框架導入/導出excel文件操作示例

thinkphp5.1 框架導入/導出excel文件操作示例

熱門標簽:梧州市機器人外呼系統怎么樣 天客通地圖標注 電子地圖標注怎么修改 公司外呼系統中心 菏澤語音外呼系統運營商 臨沂crm外呼系統平臺 廈門400電話辦理選易號網 如何在世界地圖標注 地圖標注符號樣式有

本文實例講述了thinkphp5.1 框架導入/導出excel文件操作。分享給大家供大家參考,具體如下:

thinkphp5.1 導入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(); // 總行數
//      $highestColumn = $worksheet->getHighestColumn(); // 總列數
 
      if (!(0  $highestRow)) {
        log_debug($log_title . 'END,文件內容空,SQL:' . Db::name('')->getLastSql());
        parent::endBack(['state' => 0, 'msg' => '文件沒有數據', 're_login' => false]);
      }
 
 
      //循環讀取--有效判斷
      $sst_word_arr = []; //存放敏感詞的數組
      for ($row = 1; $row = $highestRow; $row++) {
        //取列數A列的數據
        $tmp_word = $spreadsheet->getActiveSheet()->getCell('A' . $row)->getValue();
        if ('' != trim($tmp_word)  null != $tmp_word) {
          $sst_word_arr[] = $tmp_word;
          break; //發現有效數據,直接退出,接下來插入數據
        }
      }
//      $sst_word_arr = array_unique($sst_word_arr);
 
      if (empty($sst_word_arr)) {
        log_debug($log_title . 'END,文件無有效數據,SQL:' . Db::name('')->getLastSql());
        parent::endBack(['state' => 0, 'msg' => '文件無有效數據', 're_login' => false]);
      }
 
      //判斷和數據庫操作
      for ($row = 2; $row = $highestRow; $row++) {
        //取列數A列的數據
        $tmp_old_car_num = $spreadsheet->getActiveSheet()->getCell('A' . $row)->getValue();
 
        $car_num = trim($tmp_old_car_num);
        if ('' != $car_num  null != $car_num) {
          //數據庫操作
          }
        }
      }
 
      $ret_arr = [
        'state' => 1,
         //返回數據
      ];
 
      log_debug($log_title . 'END,SUCCESS');
      parent::endBack($ret_arr);
  } catch (\Exception $e) {
      //
    }
  }

excel文件格式為:

thinkphp5.1 導出excel文件

namespase app\test;
use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
class test {
  public function carNumsExport()
  {
    $log_title = '測試 => 車牌列表導出[' . __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++;
 
      // 表內容
      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) {
      //
    }
  }
}

更多關于thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結》、《ThinkPHP常用方法總結》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術總結》。

希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。

您可能感興趣的文章:
  • PHP實現文件上傳操作和封裝
  • PHP檢查文件是否存在,不存在自動創建及讀取文件內容操作示例
  • php利用ZipArchive類操作文件的實例
  • PHP 文件寫入和讀取操作實例詳解【必看篇】
  • php遍歷目錄下文件并按修改時間排序操作示例
  • PHP 實現文件壓縮解壓操作的方法
  • PHP微信網頁授權的配置文件操作分析
  • PHP文件操作簡單介紹及函數匯總

標簽:黃石 雞西 郴州 貴陽 白城 迪慶 瀘州 綿陽

巨人網絡通訊聲明:本文標題《thinkphp5.1 框架導入/導出excel文件操作示例》,本文關鍵詞  thinkphp5.1,框架,導入,導出,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《thinkphp5.1 框架導入/導出excel文件操作示例》相關的同類信息!
  • 本頁收集關于thinkphp5.1 框架導入/導出excel文件操作示例的相關信息資訊供網民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章
    主站蜘蛛池模板: 祁门县| 紫阳县| 盘锦市| 昌黎县| 罗甸县| 灌南县| 嘉祥县| 淮阳县| 交口县| 浦城县| 高唐县| 丰镇市| 清丰县| 平乡县| 花莲市| 新安县| 凌海市| 石渠县| 临澧县| 民县| 通渭县| 璧山县| 叙永县| 河西区| 南平市| 东乡县| 晋宁县| 通辽市| 昭通市| 莲花县| 南昌县| 皋兰县| 青海省| 通渭县| 长寿区| 宁安市| 科技| 张家口市| 奉贤区| 天镇县| 巩义市|