将XSLX文件导入MySQL数据库
我知道以前有类似的问题,但我找不到解决我的问题的答案。 具体是什么,我需要:我需要阅读导入的文件扩展.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
。 我要求我的用户在导入这个文件的时候,必须按照下面的顺序sorting:名字,姓氏,然后在他们的文档中发邮件(就像数据库中的表结构一样)。 所以,如果你有一些build议如何读取这个文件并将其导入到数据库中,我将非常感激。
所有的评论是完全正确的,我发现我犯了一个愚蠢的错误把这个:
$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 ) )
谢谢大家的见解。