使用PHP将Excel数据导入MySQL数据库

我有一个网站。 该网站显示了学校的时间表。

每天都会有一些变化,例如:约翰打电话告诉他病了,所以他明天不能到达。 他的学生应该有一个替代老师。

所以,我有一个电子邮件地址,应该得到一个邮件包含更改的Excel文件。 我想要的是创build一个PHP代码,从电子邮件的文件,并将其导入到SQL数据库,并显示在网站上。 当然 – 这应该是自动完成,每天完成。

如果您有更好的主意或更好的方式来编码网站,我会很高兴听到这个消息。

顺便说一句,我从Webslesson在PHP中find了一小段代码

数据库表

CREATE TABLE IF NOT EXISTS `tbl_excel` ( `excel_id` INT(11) NOT NULL AUTO_INCREMENT, `excel_name` VARCHAR(250) NOT NULL, `excel_email` VARCHAR(300) NOT NULL, PRIMARY KEY (`excel_id`) ) ENGINE = MyISAM DEFAULT CHARSET = latin1 AUTO_INCREMENT = 1; 

的index.php

  <?php $connect = mysqli_connect("localhost", "root", "", "test_db"); include ("PHPExcel/IOFactory.php"); $html="<table border='1'>"; $objPHPExcel = PHPExcel_IOFactory::load('example.xls'); foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) { $highestRow = $worksheet->getHighestRow(); for ($row=2; $row<=$highestRow; $row++) { $html.="<tr>"; $name = mysqli_real_escape_string($connect, $worksheet->getCellByColumnAndRow(0, $row)->getValue()); $email = mysqli_real_escape_string($connect, $worksheet->getCellByColumnAndRow(1, $row)->getValue()); $sql = "INSERT INTO tbl_excel(excel_name, excel_email) VALUES ('".$name."', '".$email."')"; mysqli_query($connect, $sql); $html.= '<td>'.$name.'</td>'; $html .= '<td>'.$email.'</td>'; $html .= "</tr>"; } } $html .= '</table>'; echo $html; echo '<br />Data Inserted'; ?> 

这段代码工作正常

  $file = "your-file.xls"; $handle = fopen($file, "r"); $c = 0; while(($filesop = fgetcsv($handle, 1000, ",")) !== false) { $name = $filesop[0]; $email = $filesop[1]; $sql = mysql_query("INSERT INTO xls (name, email) VALUES ('$name','$email')"); } if($sql){ echo "You database has imported successfully"; }else{ echo "Sorry! There is some problem."; } 

尝试这个