我知道以前有人问过类似的问题,但我就是找不到可以解决我的问题的答案。具体来说,我需要什么:我需要读取带有 .xslx
扩展名的导入文件,并将它们导入到 MySQL
表中的适当列中。
这是我已经尝试过的:
$file = $_FILES['file']['tmp_name'];
$handle = fopen($file,"r");
$name = $_FILES['file']['name'];
set_include_path(get_include_path() . PATH_SEPARATOR . 'Classes/');
/** PHPExcel_IOFactory */
include '../Classes/PHPExcel/IOFactory.php';
$inputFileName = $name; // File to read
echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' using IOFactory to identify the format<br />';
try {
$objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
} catch(Exception $e) {
die('Error loading file "'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage());
}
echo '<hr />';
echo "<pre>";
$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
print_r($sheetData);
/* foreach($sheetData as $rec)
{
print_r($rec);
}
*/
}
我忘了说我正在使用 PHP/Excel
库来完成这项任务,上面的代码引发了这个错误:
Error loading file "jd.xlsx": Could not open jd.xlsx for reading! File does not exist
我需要存储读取数据的表有 3 列,name
、surname
和 email
。我要求我的用户在导入此文件时必须具有以下值顺序:名称、姓氏,然后是文档中的电子邮件(就像数据库中表的结构一样)。因此,如果您对如何读取此文件并将其导入数据库有一些建议,我将不胜感激。
最佳答案
所有的评论都是完全正确的,我发现我犯了一个愚蠢的错误:
$inputFileName = $name;
取而代之的是:
$inputFileName = $file;
因为是 $name = $_FILES['file']['name'];
和 $file = $_FILES['file']['tmp_name'];
这是我的脚本现在输出的内容:
Array
(
[1] => Array
(
[A] => First Name
[B] => Last Name
[C] => Nationality
[D] => Gender
)
[2] => Array
(
[A] => jaydeep
[B] => namera
[C] => india
[D] => M
)
[3] => Array
(
[A] => harshad
[B] => fefar
[C] => india
[D] => m
)
[4] => Array
(
[A] => jd
[B] => patel
[C] => ind
[D] => m
)
)
谢谢大家给我的见解。
关于php - 将 XLSX 文件导入 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35571538/