使用PHP将Excel数据导入MySQL数据库
我有一个网站。该网站显示了学校的时间表 每天都可能有一些变化,例如:约翰打电话通知他生病了,所以他明天不能来。他的学生应该有一位代课老师 因此,我有一个电子邮件地址,应该会收到一封包含更改Excel文件的邮件。我想要的是创建一个PHP代码,从电子邮件中获取文件并将其导入SQL数据库,然后在网站上显示。当然,它应该是自动完成的,并且每天都要完成 如果你有更好的想法或更好的方法来“编码”网站-我会很高兴听到它 顺便说一句,我在PHP中找到了一段来自 数据库表使用PHP将Excel数据导入MySQL数据库,php,mysql,excel,Php,Mysql,Excel,我有一个网站。该网站显示了学校的时间表 每天都可能有一些变化,例如:约翰打电话通知他生病了,所以他明天不能来。他的学生应该有一位代课老师 因此,我有一个电子邮件地址,应该会收到一封包含更改Excel文件的邮件。我想要的是创建一个PHP代码,从电子邮件中获取文件并将其导入SQL数据库,然后在网站上显示。当然,它应该是自动完成的,并且每天都要完成 如果你有更好的想法或更好的方法来“编码”网站-我会很高兴听到它 顺便说一句,我在PHP中找到了一段来自 数据库表 CREATE TABLE IF NOT
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.";
}
试试这个这段代码运行得很好
$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.";
}
试试这个更改标题,告诉我们您到目前为止尝试了什么,您尝试过代码了吗?你犯了什么错误?请检查您的问题并向我们提供适当的描述。我没有尝试某些东西,因为我不知道如何做。更改标题,告诉我们您迄今为止尝试了什么,您尝试过代码吗?你犯了什么错误?请回顾你的问题,并给我们提供一个适当的描述。我没有尝试一些东西,因为我不知道如何去做。是的。但是我想从电子邮件中获取文件。。文件需要从电子邮件发送到FTP服务器。那是我的问题..哦。。对不起,这是一个虚拟的,但是我怎么做呢?请指定您的服务器位置示例Ok。。我以后再试试好的。但是我想从电子邮件中获取文件。。文件需要从电子邮件发送到FTP服务器。那是我的问题..哦。。对不起,这是一个虚拟的,但是我怎么做呢?请指定您的服务器位置示例Ok。。我稍后再试试