在网上搜了很多这方面的资料,发现都是将excel文件另存为csv文件,然后从csv文件导入。这里介绍一个直接将excel文件导入mysql的例子。我花了一晚上的时间测试,无论导入简繁体都不会出现乱码,非常好用。
php-excelreader,下载地址: http://sourceforge.net/projects/phpexcelreader
说明:
php将excel导入mysql的测试环境:mysql数据库采用utf8编码.导入excel文档是xls格式,经过测试,xlsx 格式[excel 2007]也ok.
文中红色标注为需要注意的地方,请替换成你配置好的数据,如数据库配置等。运行http://localost/test.php实现导入。
以下是我贴出的详细代码,其中test.php为我写的测试文件,reader.php和oleread.inc文件是从上面提供的网址中下载的。
1. php将excel导入mysql的代码示例test.php
?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 = $data->sheets[0]['numrows']; $i++) { //以下注释的for循环打印excel表数据 /* for ($j = 1; $j = $data->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.' br />'; $res = mysql_query($sql); } ?>
以上就是php将excel导入mysql的相关方法介绍,希望多又需要的朋友有所帮助。
http://www.bkjia.com/phpjc/446270.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/446270.htmltecharticle在网上搜了很多这方面的资料,发现都是将excel文件另存为csv文件,然后从csv文件导入。这里介绍一个直接将excel文件导入mysql的例子。我花...