phpexcel导入excel处理大数据(实例讲解)

matiantian 2019-04-17

先下载对应phpExcel 的包就行了https://github.com/PHPOffice/PHPExcel

下载完成 把那个Classes 这个文件夹里面的 文件跟文件夹拿出来就好了。

直接写到PHPExcel 这个文件里面的。调用很简单。引入phpExcel 这个类传递对应的excel 文件的路径就好了

现在上传到指定的目录,然后加载上传的excel文件读取这里读取是的时候不转换数组了。注意:是Sheet可以多个读取,php上传值要设置大,上传超时要设置长。

header('Content-type: text/html; charset=utf-8'); //设置页面编码
require_once 'phpexcel.class.php'; //引入文件
require_once 'PHPExcel/IOFactory.php'; //引入文件
require_once 'PHPExcel/Reader/Excel2007.php'; //引入文件
$uploadfile = $_FILES['select_file']['tmp_name'];  //获取上传文件
$auid = $_SESSION['auid'];
$date = date('Ymd');
$rand = rand(1,9999);
$_month=str_replace('-','',$date);
$file_name = str_pad($auid, 4, 0, STR_PAD_LEFT).$date.str_pad($rand, 4, 0, STR_PAD_LEFT).'.xlsx';
$path_file = '../data/upload/file/'.$file_name; //上传文件目录指定
move_uploaded_file($uploadfile, $path_file); //文件上传

$inputFileType = PHPExcel_IOFactory::identify($path_file);
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objReader->setReadDataOnly(true);//只需要添加这个方法实现表格数据格式转换
$objPHPExcel = $objReader->load($path_file);

$sheet_read_arr = array();
$sheet_read_arr["表1"] = array("B","C");
$sheet_read_arr["表2"] = array("B","C");
$sheet_read_arr["表3"] = array("B","C");
$list_aray=array();
foreach ($sheet_read_arr as $key => $val){
 $currentSheet = $objPHPExcel->getSheetByName($key);
 $row_num = $currentSheet->getHighestRow();
 for ($i = 6; $i <= $row_num; $i++){
  $cell_values = array();
  foreach ($val as $cell_val){
   $address = $cell_val . $i;// 单元格坐标
   $cell_values[] = $currentSheet->getCell($address)->getFormattedValue();
  }
  $list_aray[]=$cell_values;
 }
}

相关推荐