PHPExcel-避免在导入后在数据库中存储空单元格
我是PHPExcel的新手,不知道您是否能帮助我完成下面的代码 使用PHPExcel导出工作非常完美,但当我导入xls或xlsx文档时,它存储了工作表的内容(这是我想要的),但也从一个包含4行数据的工作表中向数据库插入了近200个空白条目 我已经在互联网上搜索了很长一段时间,但似乎找不到解决这个问题的方法 请参见下面的我的代码:PHPExcel-避免在导入后在数据库中存储空单元格,php,phpexcel,phpexcelreader,Php,Phpexcel,Phpexcelreader,我是PHPExcel的新手,不知道您是否能帮助我完成下面的代码 使用PHPExcel导出工作非常完美,但当我导入xls或xlsx文档时,它存储了工作表的内容(这是我想要的),但也从一个包含4行数据的工作表中向数据库插入了近200个空白条目 我已经在互联网上搜索了很长一段时间,但似乎找不到解决这个问题的方法 请参见下面的我的代码: $storedir = "../uploads/". $_FILES['file']['name']; $store = move_up
$storedir = "../uploads/". $_FILES['file']['name'];
$store = move_uploaded_file($_FILES['file']['tmp_name'], $storedir);
$filename = $_FILES['file']['name'];
$srow = $_POST['srow'];
if ($store) {
$objPHPExcel = PHPExcel_IOFactory::load($storedir);
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
$highestRow = $worksheet->getHighestRow();
$highestColumn = $worksheet->getHighestColumn();
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
$nrColumns = ord($highestColumn) - 64;
for ($row = $srow; $row <= $highestRow-2; ++ $row) {
$val=array();
for ($col = 1; $col < $highestColumnIndex; ++ $col) {
$cell = $worksheet->getCellByColumnAndRow($col, $row);
$val[] = $cell->getValue();
}
$savetodb = mysql_query("INSERT INTO `students` (`gender`, `name`, `surname`) VALUES ('".$val[1]."','".$val[2]."','".$val[3]."')") or die (mysql_error());
}
}
}
$storedir=“../uploads/”$_文件['file']['name'];
$store=move_上传的_文件($_文件['file']['tmp_name']],$storedir);
$filename=$_文件['file']['name'];
$srow=$_POST['srow'];
如果($store){
$objPHPExcel=PHPExcel\u IOFactory::load($storedir);
foreach($objPHPExcel->getWorksheetIterator()作为$worksheet){
$highestRow=$worksheet->getHighestRow();
$highestColumn=$worksheet->getHighestColumn();
$highestColumnIndex=PHPExcel_单元::columnIndexFromString($highestColumn);
$nrColumns=ord($highestColumns)-64;
for($row=$srow;$row getCellByColumnRow($col,$row);
$val[]=$cell->getValue();
}
$savetodb=mysql\u query(“插入到`students`(`gender`、`name`、`name`)值(''.$val[1].''.'、'.$val[2].''.''.'.''.'.$val[3].''))或die(mysql\u error());
}
}
}
我没有为PHPExcel类和IOFactories添加连接代码和include,尽管它们在代码中
如果您能提供任何帮助,我们将不胜感激。您能否回传$highestRow PLESETE尽管该工作表只有4个条目$HIGHESTCLUMN='N';$HIGHESTCLUMNINDEX='14',但我发现创建的空单元格是由excel文件中带边框的单元格造成的。导入的文件包含如果有必要,可以将带有边框的空单元格添加到列表中。但是这些空单元格在导入时会作为值添加。是否有方法忽略它们?您是否有任何需要的值?性别名称或姓氏?