亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

ThinkPHP使用PHPExcel實現Excel數據導入導出完整實例

2024-05-04 23:24:30
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了ThinkPHP使用PHPExcel實現Excel數據導入導出,非常實用的功能,需要的朋友可以參考下
 
 

本文所述實例是使用在Thinkphp的開發框架上,要是使用在其他框架也是同樣的方法,很多人可能不能正確的實現Excel的導入導出,問題基本上都是phpExcel的核心類引用路徑出錯造成的,如果有問題大家務必要對路勁是否引用正確進行測試。

具體操作步驟如下:

(一)導入Excel

第一,在前臺html頁面進行上傳文件:如:

<form method="post" action="php文件" enctype="multipart/form-data"> <h3>導入Excel表:</h3><input type="file" name="file_stu" />  <input type="submit" value="導入" /></form>

第二,在對應的php文件進行文件的處理

 if (! empty ( $_FILES ['file_stu'] ['name'] ))  {  $tmp_file = $_FILES ['file_stu'] ['tmp_name'];  $file_types = explode ( ".", $_FILES ['file_stu'] ['name'] );  $file_type = $file_types [count ( $file_types ) - 1];   /*判別是不是.xls文件,判別是不是excel文件*/   if (strtolower ( $file_type ) != "xls")         {     $this->error ( '不是Excel文件,重新上傳' );   }  /*設置上傳路徑*/   $savePath = SITE_PATH . '/public/upfile/Excel/';  /*以時間來命名上傳的文件*/   $str = date ( 'Ymdhis' );    $file_name = $str . "." . $file_type;   /*是否上傳成功*/   if (! copy ( $tmp_file, $savePath . $file_name ))    {     $this->error ( '上傳失敗' );   }  /*    *對上傳的Excel數據進行處理生成編程數據,這個函數會在下面第三步的ExcelToArray類中   注意:這里調用執行了第三步類里面的read函數,把Excel轉化為數組并返回給$res,再進行數據庫寫入  */ $res = Service ( 'ExcelToArray' )->read ( $savePath . $file_name );  /*    重要代碼 解決Thinkphp M、D方法不能調用的問題      如果在thinkphp中遇到M 、D方法失效時就加入下面一句代碼  */  //spl_autoload_register ( array ('Think', 'autoload' ) );  /*對生成的數組進行數據庫的寫入*/  foreach ( $res as $k => $v )   {    if ($k != 0)    {      $data ['uid'] = $v [0];      $data ['password'] = sha1 ( '111111' );      $data ['email'] = $v [1];      $data ['uname'] = $v [3];     $data ['institute'] = $v [4];     $result = M ( 'user' )->add ( $data );     if (! $result)      {       $this->error ( '導入數據庫失敗' );     }   }  }}

第三:ExcelToArrary類,用來引用phpExcel并處理Excel數據的
此處注意:ExcelToArrary類建在根目錄下的 addons /services/ExcelToArrary.class.php中

class ExcelToArrary extends Service{ public function __construct() {   /*導入phpExcel核心類  注意 :你的路徑跟我不一樣就不能直接復制*/   include_once('./Excel/PHPExcel.php'); }/*** 讀取excel $filename 路徑文件名 $encode 返回數據的編碼 默認為utf8*以下基本都不要修改*/ public function read($filename,$encode='utf-8'){     $objReader = PHPExcel_IOFactory::createReader('Excel5');      $objReader->setReadDataOnly(true);      $objPHPExcel = $objReader->load($filename);      $objWorksheet = $objPHPExcel->getActiveSheet();     $highestRow = $objWorksheet->getHighestRow();     $highestColumn = $objWorksheet->getHighestColumn();     $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);      $excelData = array();     for ($row = 1; $row <= $highestRow; $row++) {      for ($col = 0; $col < $highestColumnIndex; $col++) {          $excelData[$row][] =(string)$objWorksheet->getCellByColumnAndRow($col, $row)->getValue();      }      }     return $excelData;   }    }

第四,以上就是導入的全部內容,phpExcel包附在最后。

(二)Excel的導出(相對于導入簡單多了)

第一,先查出數據庫里面要生成Excel的數據,如:

$data= M('User')->findAll();  //查出數據$name='Excelfile';  //生成的Excel文件文件名$res=service('ExcelToArrary')->push($data,$name);

第二,ExcelToArrary類,用來引用phpExcel并處理數據的   

class ExcelToArrary extends Service{public function __construct() {   /*導入phpExcel核心類  注意 :你的路徑跟我不一樣就不能直接復制*/    include_once('./Excel/PHPExcel.php');}/* 導出excel函數*/public function push($data,$name='Excel'){ error_reporting(E_ALL); date_default_timezone_set('Europe/London'); $objPHPExcel = new PHPExcel();/*以下是一些設置 ,什么作者 標題啊之類的*/ $objPHPExcel->getProperties()->setCreator("轉彎的陽光")     ->setLastModifiedBy("轉彎的陽光")     ->setTitle("數據EXCEL導出")     ->setSubject("數據EXCEL導出")     ->setDescription("備份數據")     ->setKeywords("excel")    ->setCategory("result file"); /*以下就是對處理Excel里的數據, 橫著取數據,主要是這一步,其他基本都不要改*/foreach($data as $k => $v){   $num=$k+1;   $objPHPExcel->setActiveSheetIndex(0)  //Excel的第A列,uid是你查出數組的鍵值,下面以此類推  ->setCellValue('A'.$num, $v['uid'])    ->setCellValue('B'.$num, $v['email'])  ->setCellValue('C'.$num, $v['password'])  }  $objPHPExcel->getActiveSheet()->setTitle('User');  $objPHPExcel->setActiveSheetIndex(0);   header('Content-Type: application/vnd.ms-excel');   header('Content-Disposition: attachment;filename="'.$name.'.xls"');   header('Cache-Control: max-age=0');   $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');   $objWriter->save('php://output');   exit;}

第三,以上就是導出的全部內容


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久理论片午夜琪琪电影网| www.日韩av.com| 欧美老肥婆性猛交视频| 亚洲精品久久久久久久久久久久| 国产精品99免视看9| 国产综合久久久久久| 欧美极品少妇xxxxx| 欧美精品做受xxx性少妇| 色婷婷久久一区二区| 欧美一区二粉嫩精品国产一线天| 永久555www成人免费| 日韩av中文字幕在线免费观看| 亚洲精品99久久久久| 91亚洲国产成人精品性色| 欧美黄色免费网站| 夜夜狂射影院欧美极品| 欧美成人精品一区二区| 成人av资源在线播放| 日本韩国在线不卡| 91精品久久久久久久久中文字幕| 日韩精品久久久久久福利| 久99九色视频在线观看| 亚洲跨种族黑人xxx| 57pao国产成人免费| 国产欧美最新羞羞视频在线观看| 欧美国产高跟鞋裸体秀xxxhd| 国产精品最新在线观看| 欧美日韩免费在线观看| 久久久久久久网站| 欧美丰满少妇xxxxx做受| 亚洲国产欧美久久| 欧美精品免费在线| 久久免费国产精品1| 国产一区二区三区中文| 精品无码久久久久久国产| 在线播放国产一区中文字幕剧情欧美| 91久久久国产精品| 久久91超碰青草是什么| 国产精品久久久久久久久久久久久| 久久久国产一区二区| 久久久成人精品| 2021国产精品视频| 欧美激情视频网站| 欧美怡红院视频一区二区三区| 黄色成人在线免费| 国产精品精品久久久久久| 日韩av网站在线| 国产suv精品一区二区三区88区| 亚洲国产欧美一区| 国产亚洲精品综合一区91| 欧美激情一区二区三区高清视频| 国产成人精品久久| 国产在线98福利播放视频| 国产精品美女久久久久久免费| 色av中文字幕一区| 韩国19禁主播vip福利视频| 国产精品av网站| 亚洲欧洲在线观看| 一本色道久久综合亚洲精品小说| 亚洲一区二区三区在线免费观看| 欧美视频在线免费| 伊人av综合网| 成人激情视频小说免费下载| 欧美特黄级在线| 久久精品美女视频网站| 国产精品第七影院| 91精品国产色综合| 欧美黄色成人网| 精品动漫一区二区| 国产视频精品久久久| 亚洲色图狂野欧美| 日本久久久久久| 自拍偷拍亚洲一区| 国产日韩欧美综合| 亚洲欧美中文另类| 国产日韩综合一区二区性色av| 亚洲综合在线做性| 另类天堂视频在线观看| 色偷偷av一区二区三区乱| 国产又爽又黄的激情精品视频| 精品成人国产在线观看男人呻吟| 亚洲精品欧美极品| 久久中文精品视频| 北条麻妃99精品青青久久| 成人综合网网址| 欧美一区二区三区免费视| 精品国产依人香蕉在线精品| 亚洲国产精品人人爽夜夜爽| 亚洲色图18p| 国产在线视频不卡| 久久久久北条麻妃免费看| 精品日本高清在线播放| 日韩久久精品电影| 日韩精品在线私人| 狠狠爱在线视频一区| 亚洲精品乱码久久久久久金桔影视| 亚洲xxx自由成熟| 国产日产久久高清欧美一区| 69久久夜色精品国产7777| 久久国产精品久久精品| 国产91色在线|| 欧美日韩国产黄| 欧美日韩国产中文精品字幕自在自线| 国产一区二区在线免费| 中文字幕亚洲欧美日韩在线不卡| 久久精品国产精品亚洲| 久久久成人的性感天堂| 国产成人在线播放| 国产午夜精品久久久| 日韩av在线不卡| 亚洲视频免费一区| 日韩久久精品成人| 国产精品成人免费电影| 粉嫩老牛aⅴ一区二区三区| 国产福利视频一区二区| 日韩一区在线视频| 欧洲精品毛片网站| 亚洲成人精品久久| 97国产精品视频人人做人人爱| 亚洲无限乱码一二三四麻| 亚洲一区中文字幕在线观看| 萌白酱国产一区二区| 在线视频亚洲欧美| 91精品在线播放| 草民午夜欧美限制a级福利片| 中文字幕无线精品亚洲乱码一区| 久热精品视频在线观看| 久久国产天堂福利天堂| 高清欧美一区二区三区| 91爱爱小视频k| 欧美国产日产韩国视频| 在线电影av不卡网址| 日韩欧美国产视频| 91丝袜美腿美女视频网站| 91av福利视频| 国产欧美日韩中文字幕在线| 日韩人在线观看| 91av中文字幕| 亚洲国产欧美一区二区丝袜黑人| 亚洲午夜av久久乱码| www.日韩不卡电影av| 亚洲视频精品在线| 久久中文字幕一区| 国产综合在线观看视频| 国产主播欧美精品| 久久91超碰青草是什么| 中文字幕亚洲欧美日韩高清| 精品久久中文字幕| 亚洲第一区第一页| 清纯唯美日韩制服另类| 亚洲国产精品久久久久久| 欧美黄色小视频| www日韩中文字幕在线看| 国产精品久久一区主播| 久久精品亚洲一区| 97国产精品免费视频| 91色琪琪电影亚洲精品久久| 国产欧美在线看| 成人午夜黄色影院| 欧美成aaa人片在线观看蜜臀| 欧美日韩中国免费专区在线看| 亚洲欧美一区二区三区情侣bbw| 亚洲成人av中文字幕| 久久精品久久久久久|