


Wie implementiert man Excel-Import und -Export in thinkPHP5.0? (Codebeispiel)
Oct 29, 2018 pm 04:55 PMDer Inhalt dieses Artikels besteht darin, vorzustellen, wie thinkPHP5.0 den Excel-Import und -Export implementiert. (Codebeispiel). Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.
Excel-Import und -Export
Stellen Sie die PHPExcel-Klassenbibliothek eines Drittanbieters vor, platzieren Sie sie unter ThinkPHPLibraryVendordemo und erstellen Sie Ihre eigene Ordnerdemo
Fügen Sie Excel.class unter ThinkPHPLibraryOrgclass ein und erstellen Sie die von Ihnen erstellte Ordnerklasse
Controller:
<?php namespace Admin\Controller; use Think\Controller; class ExcelController extends Controller { public function excelList(){ $this->display(); } // 导入 public function import(){ 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]; // 文件类型 /*判断是否为excel文件*/ if($file_type == 'xls' || $file_type == 'xlsx'|| $file_type == 'csv'){ // 符合类型 /*上传业务*/ $upload = new \Think\Upload(); $upload->maxSize = 3145728 ; $upload->exts = array('xls', 'csv', 'xlsx'); $upload->rootPath = './Public'; $upload->savePath = '/Excel/'; $upload->saveName = date('YmdHis'); $info = $upload->upload(); if(!$info) { // 上传错误提示错误信息 $this->error($upload->getError()); }else{ // 上传成功 // 读取文件 $filename='./Public'.$info['file_stu']['savepath'].$info['file_stu']['savename']; import("Org.Yufan.ExcelReader"); vendor('PHPExcel.PHPExcel'); $reader = \PHPExcel_IOFactory::createReader('Excel2007'); //设置以Excel5格式(Excel97-2003工作簿) $PHPExcel = $reader->load($filename); // 载入excel文件 $sheet = $PHPExcel->getSheet(0); // 读取第一個工作表 $highestRow = $sheet->getHighestRow(); // 取得总行数 var_dump($highestRow); $highestColumm = $sheet->getHighestColumn(); // 取得总列数 /** 循环读取每个单元格的数据 */ $data = array(); for ($row = 2; $row <= $highestRow; $row++){//行数是以第1行开始 if($column = 'A'){ $data['name'] = $sheet->getCell($column.$row)->getValue(); } if($column = 'B'){ $data['account'] = $sheet->getCell($column.$row)->getValue(); } if($column = 'C'){ $data['password'] = $sheet->getCell($column.$row)->getValue(); } M('data')->add($data); } $this->success('导入数据库成功',U('Excel/show')); } } else{ // 不符合类型业务 $this->error('不是excel文件,请重新上传...'); } }else{ $this->error('(⊙o⊙)~没传数据就导入'); } } //导出 public function export(){ import("ORG.Yufan.Excel"); $list = M('data')->select(); if($list == null){ $this->error('数据库信息为空...',__APP__.'/Admin/Excel/show'); }else{ $row=array(); $row[0]=array('平台名称','帐号','密码'); $i=1; foreach($list as $v){ $row[$i]['name'] = $v['name']; $row[$i]['account'] = $v['account']; $row[$i]['password'] = $v['password']; $i++; } $xls = new \Excel_XML('UTF-8', false, 'datalist'); $xls->addArray($row); $xls->generateXML(date('YmdHis')); } } public function show(){ $m = M('data'); $data = $m->select(); $this->assign('data',$data); $this->display(); } }
Ansicht: (excelList.html)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Excel导入导出</title> </head> <body> <p class="page-header"> <h1>TP DEMO <small>Excel导入导出练习</small> </h1> </p> <form method="post" action="{:U('Excel/import')}" class="form-signin" enctype="multipart/form-data" > <input name="file_stu" type="file" class="form-control"> <button class="btn btn-lg btn-primary btn-block">导入</button> </form> </body> </html>
Ansicht: ( show .html)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>表格展示</title> </head> <body> <p class="page-header"> <h1>TP DEMO <small>Excel导入导出练习</small> </h1> </p> <table class="table"> <tr> <td><h4><b>平台名称</b></h4></td> <td><h4><b>帐号</b></h4></td> <td><h4><b>密码</b></h4></td> </tr> <foreach name="data" item="vo"> <tr> <td>{$vo.name}</td> <td>{$vo.account}</td> <td>{$vo.password}</td> </tr> </foreach> </table> <form action="{:U('Excel/export')}" class="form-signin"> <button class="btn btn-lg btn-primary btn-block">导出数据库数据</button> </form> </body> </html>
Vielen Dank an alle, die hier stöbern~~~~
Das obige ist der detaillierte Inhalt vonWie implementiert man Excel-Import und -Export in thinkPHP5.0? (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium)

Arbeiten mit Flash -Sitzungsdaten in Laravel

Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests

Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren

Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs

12 Beste PHP -Chat -Skripte auf Codecanyon

Ankündigung von 2025 PHP Situation Survey
