Dieser Artikel zeigt Ihnen, wie Sie PHPExcel-Dateien in Thinkphp3.2.3 importieren. Er hat einen gewissen Referenzwert.
1 das PHPExcel-Plugin:
ThinkPHP-Version: 3.2.3
PHPExcel-Version: 1.8
PHPExcel offizielle Download-Adresse: https://github.com/PHPOffice/PHPExcel
2. Nach der Dekomprimierung lautet es wie folgt:
Solange der Klassenordner verwendet wird, ist der Rest nutzlos. Ändern Sie den Namen des Klassenordners in PHPExcel (benennen Sie ihn nach Belieben)
3. Kopieren Sie die PHPExcel-Datei an den folgenden Speicherort:
4. Alles ist bereit, beginnen Sie mit der Reise.
Frontend-Code:
<form action="{:U('Index/upload')}" method="post" enctype="multipart/form-data"> <ul> <li><input type="file" name="files" /></li> <li><input type="submit" value="上传" /></li> </ul> </form>
Backend-Code (Upload-Methode in IndexController.class.php):
public function upload(){ if(isset($_FILES["files"]) && ($_FILES["files"]["error"] == 0)){ $result = importExecl($_FILES["files"]["tmp_name"]); echo '<pre />'; print_r($result); die; } }
wobei importExecl Der Ort ist öffentlich geschrieben und lautet wie folgt
Der Code der öffentlichen Methode lautet wie folgt:
function importExecl($file='', $sheet=0){ $file = iconv("utf-8", "gb2312", $file); //转码 if(empty($file) OR !file_exists($file)) { die('file not exists!'); } vendor("PHPExcel.PHPExcel"); // 引入我们自己导入的文件 $objRead = new PHPExcel_Reader_Excel2007(); //建立reader对象 if(!$objRead->canRead($file)){ $objRead = new PHPExcel_Reader_Excel5(); if(!$objRead->canRead($file)){ die('No Excel!'); } } $cellName = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ'); $obj = $objRead->load($file); //建立excel对象 $currSheet = $obj->getSheet($sheet); //获取指定的sheet表 $columnH = $currSheet->getHighestColumn(); //取得最大的列号 $columnCnt = array_search($columnH, $cellName); $rowCnt = $currSheet->getHighestRow(); //获取总行数 $data = array(); for($_row=1; $_row<=$rowCnt; $_row++){ //读取内容 for($_column=0; $_column<=$columnCnt; $_column++){ $cellId = $cellName[$_column].$_row; $cellValue = $currSheet->getCell($cellId)->getValue(); //$cellValue = $currSheet->getCell($cellId)->getCalculatedValue(); #获取公式计算的值 if($cellValue instanceof PHPExcel_RichText){ //富文本转换字符串 $cellValue = $cellValue->__toString(); } $data[$_row][$cellName[$_column]] = $cellValue; } } return $data; }
6. Schließlich ist der Code relativ einfach zu schreiben , und die Datei Sie können den Typ und die Größe selbst überprüfen, daher werde ich sie hier nicht schreiben. Ich habe den obigen Code persönlich getestet und kein Problem festgestellt.
Das obige ist der detaillierte Inhalt vonSo importieren Sie PHPExcel-Dateien in Thinkphp3.2.3. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!