本文实例讲述了ThinkPHP 框架实现的读取excel导入数据库操作。分享给大家供大家参考,具体如下:
入口文件中:
require_once VENDOR_PATH.'PHPExcel/PHPExcel/IOFactory.php'; require_once VENDOR_PATH.'PHPExcel/PHPExcel.php';
PHP:
namespace Home\Controller; class ExcelController extends CommonController { public function Import() { // vendor('PHPExcel.PHPExcel.IOFactory'); vendor("PHPExcel.PHPExcel.PHPExcel"); vendor("PHPExcel.PHPExcel.Writer.Excel5"); vendor("PHPExcel.PHPExcel.Writer.Excel2007"); //$excel = new PHPExcel(); $fileName = './trans_rate.xlsx'; date_default_timezone_set('PRC'); // 读取excel文件 try { $objPHPExcel = \PHPExcel_IOFactory::load($fileName); $inputFileType = \PHPExcel_IOFactory::identify($fileName); $objReader = \PHPExcel_IOFactory::createReader($inputFileType); // $objPHPExcel = $objReader->load($fileName); // 确定要读取的sheet $sheet = $objPHPExcel->getSheet(0); $highestRow = $sheet->getHighestRow(); $highestColumn = $sheet->getHighestColumn(); // 获取一行的数据 // $phone_str = ''; for ($row = 3; $row <= $highestRow; $row++) { $row_data = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE); //获取excel表中一行的数组数据 //dump($row_data); $row_data = $row_data[0]; $time = date('Y-m-d H:i:s', strtotime(trim($row_data[0]))); $start_province = trim($row_data[1]); $start_city = trim($row_data[2]); ... // $phone_str .= '"' . $phone . '",'; $where['phone'] = $phone; $id_arr = M(数据表名)->where($where)->getField('id'); $user_id = !empty($id_arr) "' . pathinfo($fileName, PATHINFO_BASENAME) . '": ' . $e->getMessage()); } }}
php读取excel表数据:
<"'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage()); } // 确定要读取的sheet $sheet = $objPHPExcel->getSheet(0); $highestRow = $sheet->getHighestRow(); $highestColumn = $sheet->getHighestColumn(); // 获取一行的数据 for ($row = 1; $row <= $highestRow; $row++){ // Read a row of data into an array $rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE); //这里得到的rowData都是一行的数据,得到数据后自行处理 var_dump($rowData); echo "<br>"; } //$data为从excel中获取到的数组 for ($i =0; $i<count($data);$i++){ echo '<br>'; $gettime= explode('-',$data[$i][0]); if (checkdate($month=$gettime[0],$day=$gettime[1],$year=$gettime[2])){ echo gmdate('Y-m-d',gmmktime(0,0,0,$month,$day,$year)); }else{ echo ($data[$i][0]); } echo '-----------'; echo $data[$i][1]; }
<"A"){ //指定H列为时间所在列 $cell = gmdate("Y-m-d H:i:s", PHPExcel_Shared_Date::ExcelToPHP($sheet->getCell($addr)->getValue())); // $cell = PHPExcel_Shared_Date::ExcelToPHP($sheet->getCell($addr)->getValue()); // var_dump($cell);die; }else{ $cell = $sheet->getCell($addr)->getValue(); } // if($cell instanceof PHPExcel_RichText){ //富文本转换字符串 // $cell = $cell->__toString(); // } $data[$rowIndex][$colIndex] = $cell; } } // return $data; var_dump($data); } catch(Exception $e) { die('加载文件发生错误:"'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage()); }
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 中国武警男声合唱团《辉煌之声1天路》[DTS-WAV分轨]
- 紫薇《旧曲新韵》[320K/MP3][175.29MB]
- 紫薇《旧曲新韵》[FLAC/分轨][550.18MB]
- 周深《反深代词》[先听版][320K/MP3][72.71MB]
- 李佳薇.2024-会发光的【黑籁音乐】【FLAC分轨】
- 后弦.2012-很有爱【天浩盛世】【WAV+CUE】
- 林俊吉.2012-将你惜命命【美华】【WAV+CUE】
- 晓雅《分享》DTS-WAV
- 黑鸭子2008-飞歌[首版][WAV+CUE]
- 黄乙玲1989-水泼落地难收回[日本天龙版][WAV+CUE]
- 周深《反深代词》[先听版][FLAC/分轨][310.97MB]
- 姜育恒1984《什么时候·串起又散落》台湾复刻版[WAV+CUE][1G]
- 那英《如今》引进版[WAV+CUE][1G]
- 蔡幸娟.1991-真的让我爱你吗【飞碟】【WAV+CUE】
- 群星.2024-好团圆电视剧原声带【TME】【FLAC分轨】