function getExcelData($inputfile)
{
//根据类型创建合适的读取器对象 这里写死了
$objread = IOFactory::createreader('Xlsx');
// ./upload/supplement_order/xlsx_ledge/5025-补单导入模板0721.xlsx
$objread->setReadDataOnly(TRUE);
$objspreadsheet = $objread->load($inputfile); //读文件
$worksheet = $objspreadsheet->getActiveSheet();
$highestRow = $worksheet->getHighestRow(); // 总行数1, 2,3
$rows = array(); //记录数据的集合
//循环去读取数据 比如当前第一行即获取A1 F1 组成一个数组
for ($rowIndex = 2; $rowIndex <= $highestRow; $rowIndex++) {
//判空是因为如果某一个单元格是空的,我们就不要加到数据集中了
if ($worksheet->getCell("F{$rowIndex}")->getValue()!=null){
$row['order_id'] = $worksheet->getCell("A{$rowIndex}")->getValue();
$row['express_id'] = $worksheet->getCell("F{$rowIndex}")->getValue();
$rows[] = $row;
}
}
return $rows;
}
getExcelData()方法传入 文件路径就行
$_FILES["file"]["tmp_name"] 获取到前端上传的文件的临时路径。临时路径当你操作完后,该文件不会保存
$data = getExcelData($_FILES["file"]["tmp_name"]);
获取到的数据就是这样的
[
["order_id":values,"express_id":values]
["order_id":values,"express_id":values]
]
获取到数据,我们就可以进行我们的操作,UPDETE、INSERT INTO 等等。