php上傳excel表格并獲取數(shù)據(jù)
這個(gè)是最近需要做的一個(gè)功能,在網(wǎng)上也查看了很多相關(guān)的文章,基本上大同小異,在這里整理一下。
一:首先是html部分
<html> <body> <form action="upload_file.php" method="post" enctype="multipart/form-data"> <input type="file" name="file" id="file" /> <input type="submit" name="submit" value="Submit" /> </form> </body> </html>
二:就是去接收和處理上傳的文件了。php部分
//文件存放的路徑 $save_path = "/upload/"; //文件存放的文件夾 $save_files = $this->geturl(); 這個(gè)是以年月日新建的文件夾,僅供參考。 //先檢查當(dāng)前文件夾是否存在,如不存在,創(chuàng)建文件夾 function geturl() { $year = date('Y'); $month= date('m'); $day= date('d'); $str = $year.$month.$day; if(strtoupper(substr(PHP_OS,0,3))=='WIN'){ $path = getcwd() . "/upload/".$str; }else{ $path = "/mnt/erp/".$str; } if(!file_exists($path))//判斷文件夾是否存在 { mkdir($path); } //return $path."/"; return $str."/"; } //這個(gè)是上傳文件到需要保存的位置, if (!@move_uploaded_file($_FILES[$upload_name]["tmp_name"], $save_path.$file_path)) { $error = "error|上傳文件錯(cuò)誤."; exit(0); }
下面開始獲取你上傳的excel數(shù)據(jù)了
//獲取上傳表格的數(shù)據(jù) $file_name = $save_path.$file_path; //獲取上傳文件的地址名稱 require_once APPPATH . 'views/IDC/config/PHPExcel.php'; require_once APPPATH . 'views/IDC/config/PHPExcel/IOFactory.php'; require_once APPPATH . 'views/IDC/config/PHPExcel/Cell.php'; $objReader = PHPExcel_IOFactory::createReader('excel2007'); //建立reader對(duì)象 $objPHPExcel = $objReader->load($file_name); $sheet = $objPHPExcel->getSheet(); $highestRow = $sheet->getHighestDataRow(); // 取得總行數(shù) $highestColumn_num = PHPExcel_Cell::columnIndexFromString($sheet->getHighestDataColumn()); //列數(shù) //$columns = PHPExcel_Cell::getColumn($highestColumn_num); $columns = array('A','B','C','D','E','F','G'); $arr_result = array(); $dealer_element = array(); for ($j = 2; $j <= $highestRow; $j++) { for ($k = 0; $k < count($columns); $k++) { //讀取單元格 $value = $objPHPExcel->getActiveSheet()->getCell($columns[$k] . $j)->getValue();//這個(gè)就是獲取每個(gè)單元格的值 $value = trim($value); if (empty($value)) { $value = NULL; } $dealer_element[$k] = $value; //這里可以根據(jù)要求,做一些數(shù)據(jù)的驗(yàn)證 } $arr_result[$j] = $dealer_element; } echo json_encode($arr_result);
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家
- PHP中創(chuàng)建和編輯Excel表格的方法
- PHPExcel實(shí)現(xiàn)表格導(dǎo)出功能示例【帶有多個(gè)工作sheet】
- Thinkphp5+PHPExcel實(shí)現(xiàn)批量上傳表格數(shù)據(jù)功能
- 使用PHPExcel實(shí)現(xiàn)數(shù)據(jù)批量導(dǎo)出為excel表格的方法(必看)
- php通過PHPExcel導(dǎo)入Excel表格到MySQL數(shù)據(jù)庫的簡單實(shí)例
- thinkPHP導(dǎo)出csv文件及用表格輸出excel的方法
- php導(dǎo)出word文檔與excel電子表格的簡單示例代碼
- PHP處理excel cvs表格的方法實(shí)例介紹
- PHP5.6讀寫excel表格文件操作示例
相關(guān)文章
PHP7.0連接DB操作實(shí)例分析【基于mysqli】
這篇文章主要介紹了PHP7.0連接DB操作,結(jié)合實(shí)例形式分析了php7基于mysqli連接與查詢數(shù)據(jù)庫相關(guān)操作技巧,需要的朋友可以參考下2019-09-09php中call_user_func函數(shù)使用注意事項(xiàng)
這篇文章主要介紹了php中call_user_func函數(shù)使用注意事項(xiàng),較為詳細(xì)的講述了call_user_func函數(shù)的用法實(shí)例與注意事項(xiàng),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-11-11PHP實(shí)現(xiàn)批量重命名某個(gè)文件夾下所有文件的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)批量重命名某個(gè)文件夾下所有文件的方法,涉及php針對(duì)文件夾下文件的遍歷、字符串查找、截取及rename函數(shù)重命名文件等相關(guān)操作技巧,需要的朋友可以參考下2017-09-09解析mysql left( right ) join使用on與where篩選的差異
本篇文章是對(duì)mysql left( right )join使用on與where篩選的差異進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06php數(shù)組函數(shù)序列之a(chǎn)rray_flip() 將數(shù)組鍵名與值對(duì)調(diào)
array_flip() 函數(shù)將使數(shù)組的鍵名與其相應(yīng)值調(diào)換,即鍵名變成了值,而值變成了鍵名2011-11-11