目前我正在做我的家庭作业项目,使用 PHP 将特定数据从 Excel 解析到 MySQL。该项目是上传一个excel文件,然后excel文件上传后,excel数据应该在MySQL中。
我面临的问题是,我的作业项目要求只是解析 Excel 文件中存在的数据中的特定行和列。我已经尝试使用我找到的代码,但它不起作用。它将 Excel 文件中的所有内容解析到 MySQL 表中。不是我期望的特定行和列数据。
我仍在寻找解决方案。为此花了将近两周的时间,但我仍然面临着死胡同。我的截止日期项目是 1 周内。因此,如果有人可以帮助我并为我找到解决方案,我将非常感激。
我已经尝试过这个 PHP 脚本。但是,excel中的所有数据都被解析到MySQL表中,数据弄乱了MySQL表中的行和列。我只想将 Excel 文件的特定部分(行和列)插入到我创建的 MySQL 表中。我提供了屏幕截图和我想要解析到 MySQL 表的部分,并用红色突出显示。
if(!empty($_FILES['excelfile']['name'])){
// Get File extension eg. 'xlsx' to check file is excel sheet
$pathinfo = pathinfo($_FILES['excelfile']['name']);
// check file has extension xlsx, xls and also check
// file is not empty
if (($pathinfo['extension'] == 'xlsx' || $pathinfo['extension'] == 'xls')
&& $_FILES['excelfile']['size'] > 0 ){
$file = $_FILES['excelfile']['tmp_name'];
$reader = ReaderFactory::create(Type::XLSX);
$reader->open($file);
$count = 0;
foreach ($reader->getSheetIterator() as $sheet){
foreach($sheet->getRowIterator () as $row)
{
if ($count > 0){
$name = $row[2];
$job_schedule = $row[3];
$overtime = $row[4];
$notes = $row[5];
$start_working = $row[6];
$finished_working = $row[7];
$qry = "INSERT INTO `timesheet` (`name`,`job_schedule`, `overtime`,`notes`, `start_working`,`finished_working`) VALUES ('$name','$job_schedule','$overtime','$notes','$start_working','$finished_working')";
$res = mysqli_query($con,$qry);
}
$count++;
}
}
if($res){
echo "Success";
}
else{
echo "failed";
}
$reader->close();
}
else{
echo "Excel format is not supported";
}
```[Here is the SCREENSHOT LINK]
[1]: /image/0kIxo.png
最佳答案
关于php - 使用 PHP 将 Excel 数据从特定行和列解析到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57032715/