1.使用composer下载PHPExcel,首先安装过composer之后,用dos命令行,引入到项目所在目录下,然后输入composer require phpexcel/phpexcel ,然后点回车键
你会发现项目的目录中在vendor的目录下多了一个文件夹(phpexcel),这个文件夹中的东西就是要使用的php中的Excel表格操作
2.上传表单:
先看看表单
php代码:
public function upload() { //获取表单上传文件 $file = request()->file('file'); if (empty($file)) { return '请上传文件'; } $info = $file->validate(['ext' => 'xlsx'])->move(ROOT_PATH . 'public/uploads');//上传验证后缀名,以及上传之后移动的地址 // $info = $file->validate(['size'=>1567888,'ext'=>'jpg,png,gif'])->move(ROOT_PATH . 'public/uploads'); if ($info) { $exclePath = $info->getSaveName(); //获取文件名 $file_name = ROOT_PATH . 'public' . DS . 'uploads' . DS . $exclePath; //上传文件的地址 $objReader = \PHPExcel_IOFactory::createReader('excel2007'); //建立reader对象 $objPHPExcel = $objReader->load($file_name); $sheet = $objPHPExcel->getSheet(); $highestRow = $sheet->getHighestDataRow(); // 取得总行数 $highestColumn_num = \PHPExcel_Cell::columnIndexFromString($sheet->getHighestDataColumn()); //列数 //$columns = PHPExcel_Cell::getColumn($highestColumn_num); $columns = array('A', 'B', 'C'); $arr_result = array(); $dealer_element = array(); for ($j = 1; $j <= $highestRow; $j++) { for ($k = 0; $k < count($columns); $k++) { //读取单元格 $value = $objPHPExcel->getActiveSheet()->getCell($columns[$k] . $j)->getValue();//这个就是获取每个单元格的值 $value = trim($value); if (empty($value)) { $value = NULL; } $dealer_element[$k] = $value; //这里可以根据要求,做一些数据的验证 } $arr_result[$j] = $dealer_element; } return $arr_result; } }返回数据:
{ "1": [ "name", "class", "age" ], "2": [ "张三", "1", "5" ], "3": [ "李四", "1", "5" ] }