>php教程 >php手册 >如何用PHP将Excel导入MySQL数据库

如何用PHP将Excel导入MySQL数据库

PHPz
PHPz원래의
2016-06-13 12:30:21998검색

最近在做一个系统的重构~之前它导入用户名和密码都是要手工黏贴到数据库的~所以想直接用Excel导入,方便用户操作。

研究了一下~方法不少~最后决定用Excel导入~在网上搜了很多这方面的资料,发现都是将excel文件另存为csv文件,然后从csv文件导入。这里介绍一个直接将excel文件导入mysql的例子。我花了一晚上的时间测试,无论导入简繁体都不会出现乱码,非常好用。

说明:

PHP将EXCEL导入MYSQL的测试环境:MYSQL数据库采用utf8编码.导入EXCEL文档是xls格式,经过测试,xlsx 格式[excel 2007]也OK.
请替换成你配置好的数据,如数据库配置等。

以下是我贴出的详细代码,其中test.php为我写的测试文件,reader.php和oleread.inc文件是从上面提供的网址中下载的。

1. PHP将EXCEL导入MYSQL的代码示例test.php

代码如下:

< ?php 
require_once &#39;reader.php&#39;; // ExcelFile($filename, $encoding); $data = new Spreadsheet_Excel_Reader(); // Set output Encoding. $data->setOutputEncoding(&#39;gbk&#39;); 
//”data.xls”是指要导入到mysql中的excel文件 
$data->read(&#39;data.xls&#39;); 
@ $db = mysql_connect(&#39;localhost&#39;, &#39;root&#39;, &#39;123456&#39;) or 
die("Could not connect to database.");//连接数据库 
mysql_query("set names &#39;gbk&#39;");//输出中文 
mysql_select_db(&#39;mydb&#39;); //选择数据库 
error_reporting(E_ALL ^ E_NOTICE); 
for ($i = 1; $i <= $data->sheets[0][&#39;numRows&#39;]; $i++) { 
//以下注释的for循环打印excel表数据 
/* 
for ($j = 1; $j < = $data->sheets[0][&#39;numCols&#39;]; $j++) { 
echo "\"".$data->sheets[0][&#39;cells&#39;][$i][$j]."\","; 
} 
echo "\n"; 
*/ 
//以下代码是将excel表数据【3个字段】插入到mysql中, 
根据你的excel表字段的多少,改写以下代码吧! 
$sql = "INSERT INTO test VALUES(&#39;". 
$data->sheets[0][&#39;cells&#39;][$i][1]."&#39;,&#39;". 
$data->sheets[0][&#39;cells&#39;][$i][2]."&#39;,&#39;". 
$data->sheets[0][&#39;cells&#39;][$i][3]."&#39;)"; 
echo $sql.&#39;< br />&#39;; 
$res = mysql_query($sql); 
} 
?>

以上就是PHP将EXCEL导入MYSQL的相关方法介绍,希望对有需要的朋友有所帮助。

 

【相关教程推荐】

1. php编程从入门到精通全套视频教程
2. php从入门到精通 
3. bootstrap教程

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.