我之前已经问过类似的问题,但我找不到可以解决问题的答案。具体到我需要的东西:我需要读取带有.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
。我要求我的用户在导入此文件时必须具有以下值的顺序:名称,姓氏,然后在其文档中发送电子邮件(就像数据库中的表结构一样)。所以,如果您有一些建议如何阅读此文件并将其导入数据库,我将非常感激。
答案 0 :(得分:0)
所有评论都是完全正确的,我发现我犯了一个愚蠢的错误:
$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
)
)
谢谢大家的见解。