Cet article partage principalement avec vous des exemples d'importation PHP d'Excel. Tout d'abord, vous devez télécharger le portail PHPexcel. J'espère que cela aide tout le monde.
Après avoir décompressé le fichier, placez-le dans le répertoire ThinkPHPLibraryVendor
Code HTML
<div class="form-group"> <!-- <a class="button input-file" style="text-align: center;vertical-align: middle;" href="javascript:void(0);">上传要发送的号码文件<input size="80" type="file" name="file1" id="file1" onchange="check1()" /></a>!--> <h3>导入Excel表:</h3><input type="file" name="file_stu" /> <input type="submit" value="导入" /> </div>
Code PHP
Créez un nouveau ExcelToArrary.class.php sous ThinkPHPLibraryOrgUtil.
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2016/12/6 0006 * Time: 下午 3:23 */ namespace Org\Util; class ExcelToArrary { public function __construct() { Vendor("Excel.PHPExcel");//引入phpexcel类(注意你自己的路径) Vendor("Excel.PHPExcel.IOFactory"); } public function read($filename,$encode,$file_type) { if (strtolower($file_type) == 'xls')//判断excel表类型为2003还是2007 { Vendor("Excel.PHPExcel.Reader.Excel5"); $objReader = \PHPExcel_IOFactory::createReader('Excel5'); } elseif (strtolower($file_type) == 'xlsx') { Vendor("Excel.PHPExcel.Reader.Excel2007"); $objReader = \PHPExcel_IOFactory::createReader('Excel2007'); } $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; } }
use Org\Util\ExcelToArrary ;
public function uploadxsl() { /******************导入文件处理*******************/ $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) != "xlsx" && strtolower($file_type) != "xls") { $this->error('不是Excel文件,重新上传'); } /*设置上传路径*/ $savePath = C('UPLOAD_DIR'); /*以时间来命名上传的文件*/ $str = date('Ymdhis'); $file_name = $str . "." . $file_type; /*是否上传成功*/ if (!copy($tmp_file, $savePath . $file_name)) { $this->error('上传失败'); } $ExcelToArrary = new ExcelToArrary();//实例化 $res = $ExcelToArrary->read(C('UPLOAD_DIR') . $file_name, "UTF-8", $file_type);//传参,判断office2007还是office2003 foreach ($res as $k => $v) //循环excel表 { $k = $k - 1;//addAll方法要求数组必须有0索引 $data[$k]['user_id'] = $_SESSION['admin_id']; $data[$k]['mobile_user'] = $v [0];//创建二维数组 $data[$k]['mobile'] = $v [1]; } $db = M('user_db');//数据库 $db->addAll($data); }
php Excel importer plusieurs tables
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!