上传并插入xls文件到MySQL?

我努力find一个教程,告诉我如何编写一个PHP脚本,这将允许我上传和插入xls(不是CSV)到MySQL。 我有这个PHP脚本fgetcsv,它工作得很好。 但是我需要包含对xls的支持。

我的PHP

if(isset($_POST["Import"])){ echo $filename=$_FILES["file"]["tmp_name"]; if($_FILES["file"]["size"] > 0) { $file = fopen($filename, "r"); while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE) { //It wiil insert a row to our subject table from our csv file` $sql = "INSERT into excell_import (`objekt`, `element_nummer`, `element_hojd`, `element_langd`,COURSE_ID, `AY`, `SEMESTER`) values('$emapData[1]','$emapData[2]','$emapData[3]','$emapData[4]','$emapData[5]','$emapData[6]','$em apData[7]')"; //we are using mysql_query function. it returns a resource on true else False on error $result = mysql_query( $sql, $conn ); if(! $result ) { echo "<script type=\"text/javascript\"> alert(\"Invalid File:Please Upload CSV File.\"); window.location = \"index.php\" </script>"; } } fclose($file); //throws a message if data successfully imported to mysql database from excel file echo "<script type=\"text/javascript\"> alert(\"CSV File has been successfully Imported.\"); window.location = \"index.php\" </script>"; //close of connection mysql_close($conn); } ?> 

工作脚本从xls文件收集数据并插入到mysql。

 <?php //include the following 2 files for phpexcel require 'Classes/PHPExcel.php'; require_once 'Classes/PHPExcel/IOFactory.php'; //Establish connection to mysql $conn=mysql_connect($host,$username,$password) or die("Could not connect"); mysql_select_db($dbname,$conn) or die("could not connect database"); //Load file $path = "atbl.xls"; $objPHPExcel = PHPExcel_IOFactory::load($path); //Loop threw file to get data foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) { $worksheetTitle = $worksheet->getTitle(); $highestRow = 20; //$worksheet->getHighestRow(); // eg 10 $highestColumn = 'G'; //worksheet->getHighestColumn(''); // eg 'F' $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn); $nrColumns = ord($highestColumn) - 64; echo "<br>The worksheet ".$worksheetTitle." has "; echo $nrColumns . ' columns (A-' . $highestColumn . ') '; echo ' and ' . $highestRow . ' row.'; echo '<br>Data: <table border="1"><tr>'; for ($row = 11; $row <= $highestRow; ++ $row) { echo '<tr>'; for ($col = 0; $col < $highestColumnIndex; ++ $col) { $cell = $worksheet->getCellByColumnAndRow($col, $row); $val = $cell->getCalculatedValue(); //$dataType = PHPExcel_Cell_DataType::dataTypeForValue($val); echo '<td>' . $val . '<br></td>'; } echo '</tr>'; } echo '</table>'; } for ($row = 11; $row <= $highestRow; ++ $row) { $val=array(); for ($col = 0; $col < $highestColumnIndex; ++ $col) { $cell = $worksheet->getCellByColumnAndRow($col, $row); $val[] = $cell->getValue(); } //Insert data from file to mysql $sql="INSERT INTO phpexcel(objekt_nr, objekt_rev, element_nr, element_langd, element_bredd, element_hojd) VALUES ('".$val[1] . "','" . $val[2] . "','" . $val[3]. "','" . $val[4]. "','" . $val[5]. "','" . $val[6]. "')"; //echo $sql."\n"; mysql_query($sql) or die('Invalid query: ' . mysql_error()); } ?>