您好,欢迎访问一九零五行业门户网

PHP实现将EXCEL文件导入到MYSQL

最近因项目需求,要实现将excel文件通过php页面导入mysql数据库中。在网上搜了很多这方面的资料,发现都是将excel文件另存为csv文件,然后从csv文件导入。这里介绍一个直接将excel文件导入mysql的例子。我花了一晚上的时间测试,无论导入简繁体都不会出现乱
最近因项目需求,要实现将excel文件通过php页面导入mysql数据库中。在网上搜了很多这方面的资料,发现都是将excel文件另存为csv文件,然后从csv文件导入。这里介绍一个直接将excel文件导入mysql的例子。我花了一晚上的时间测试,无论导入简繁体都不会出现乱码,非常好用。
说明:
测试环境:mysql数据库采用utf8编码.导入excel文档是xls格式,经过测试,xlsx 格式[excel 2007]也ok.
文中红色标注为需要注意的地方,请替换成你配置好的数据,如数据库配置等。运行实现导入。
以下是我贴出的详细代码,,其中test.php为我写的测试文件,reader.php和oleread.inc文件是从上面提供的网址中下载的。
1. test.php
以下为引用的内容:
require_once 'reader.php';
// excelfile($filename, $encoding);
$data = new spreadsheet_excel_reader();
// set output encoding.
$data->setoutputencoding('gbk');
//”data.xls”是指要导入到mysql中的excel文件
$data->read('data.xls');
@ $db = mysql_connect('localhost', 'root', '123456') or
die(could not connect to database.);//连接数据库
mysql_query(set names 'gbk');//输出中文
mysql_select_db('mydb'); //选择数据库
error_reporting(e_all ^ e_notice);
for ($i = 1; $i sheets[0]['numrows']; $i++) {
//以下注释的for循环打印excel表数据
/*
for ($j = 1; $j sheets[0]['numcols']; $j++) {
echo .$data->sheets[0]['cells'][$i][$j].,;
}
echo n;
*/
//以下代码是将excel表数据【3个字段】插入到mysql中,根据你的excel表字段的多少,改写以下代码吧!
$sql = insert into test values('.
$data->sheets[0]['cells'][$i][1].','.
$data->sheets[0]['cells'][$i][2].','.
$data->sheets[0]['cells'][$i][3].');
echo $sql.'
';
$res = mysql_query($sql);
}
?>
其它类似信息

推荐信息