PHP导入Excel到MySQL的方法
分类:PHP作者:编程之家
研究了一下~方法不少~最后决定用Excel导入~在网上搜了很多这方面的资料,发现都是将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
<div class="codetitle"><a style="CURSOR: pointer" data="87699" class="copybut" id="copybut87699" onclick="doCopy('code87699')"> 代码如下:
<div class="codebody" id="code87699">
< ?
PHP require_once 'reader.
PHP'; // ExcelFile($filename,$encoding); $data = new Spreadsheet_Excel_Reader(); // Set output Encoding. $data->s
etoutputEncoding('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);
}
?>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。