一、TP5 导入其他目录类 PHPExcel_IOFactory
1、原始文件加namespace 2、引用时候use
二、require_once 用法 require_once ROOT_PATH.’/vendor/PHPExcel.php’;
<?php
namespace app\admin\controller;
use PHPExcel\PHPExcel_IOFactory;
use think\Db;
//use think\Loader;
use think\Request;
use think\Session;
//use vendor\PHPExcel\IOFactory;
class Phone extends Main
{
public function index()
{
$user_id=Session::get('user_id');
//判断是否选择了要上传的表格
if (empty($_FILES['myfile'])) {
echo "<script>alert(您未选择表格);history.go(-1);</script>";
}
//获取表格的大小,限制上传表格的大小5M
// $file_size = $_FILES['myfile']['size'];
// if ($file_size>10*1024*1024) {
// echo "<script>alert('上传失败,上传的表格不能超过10M的大小');history.go(-1);</script>";
// exit();
// }
//限制上传表格类型
$file_type = $_FILES['myfile']['type'];
// var_dump($_FILES['myfile']);
// dump($file_type);die;
//application/vnd.ms-excel 为xls文件类型
// if ($file_type!='application/vnd.ms-excel') {
// echo "<script>alert('上传失败,只能上传excel2003的xls格式!');history.go(-1)</script>";
// exit();
// }
//判断表格是否上传成功
if (is_uploaded_file($_FILES['myfile']['tmp_name'])) {
require_once ROOT_PATH.'/vendor/PHPExcel.php';
require_once ROOT_PATH.'/vendor/PHPExcel/IOFactory.php';
require_once ROOT_PATH.'/vendor/PHPExcel/Reader/Excel5.php';
require_once ROOT_PATH.'/vendor/PHPExcel/Reader/Excel2007.php';
//以上三步加载phpExcel的类
if( $file_type=='application/vnd.ms-excel'){
$objReader = PHPExcel_IOFactory::createReader('Excel5');// xls
}else{
$objReader = PHPExcel_IOFactory::createReader('Excel2007'); // xlsx
}
//接收存在缓存中的excel表格
$filename = $_FILES['myfile']['tmp_name'];
$objPHPExcel = $objReader->load($filename); //$filename可以是上传的表格,或者是指定的表格
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); // 取得总行数
// $highestColumn = $sheet->getHighestColumn(); // 取得总列数
//循环读取excel表格,读取一条,插入一条
//j表示从哪一行开始读取 从第二行开始读取,因为第一行是标题不保存
//$a表示列号
//
for($j=2