您的位置:首页 > 编程语言 > PHP开发

php 读取excel中的内容到mysql 数据库

2011-03-02 18:17 597 查看
............................................................................................................................................................................................



二月来快,去的也快。。三月已到来。。赶紧学习。(广告一下http://www.Asterisk-help.com)

............................................................................................................................................................................................



实现excel中的内容到mysql 数据库 。



excel中的内容到mysql 数据库步骤:



一:下载地址 : http://sourceforge.net/projects/phpexcelreader/


1:下载下来有个 “phpExcelReader.zip”的压缩包。解压,我们需要的只有 Excel 文件夹的内容,首先把 “oleread.inc” 改为 “OLERead.php”,还有得 修改 “reader.php” 这个文件:



修改第第31行 require_once 'Spreadsheet/Excel/Reader/OLERead.php';

改为 ” : require_once 'OLERead.php';



第 261行 =& 改为 = 号就 OK 了



二:简单实例操作:



1: 首先我在数据库中 建立了一个 excel 的表 ,字段是 id 和 tel 存取电话号码(呆会要从excel表中读取插入到里面去的)



2:copy 我们下载下来的 操作文件(上面我们修改的那两个文件),"OLERead.php" 和 "reader.php" 放到我们http目录下,



OK ,现在我们在和两个文件的同级目录下建立一个 aaa.php (读取excel)的文件,同时也建立一个aaa.xls 的文件,里面内容就是



比如是这样的








OK,现在我们来写 aaa.php 的读取该 excel文件中的内容到数据库,代码如下:





require_once 'reader.php';   //加载引用操作excel的类
$data = new Spreadsheet_Excel_Reader(); //实例化
$data->setOutputEncoding('gbk');      //编码
$data->read('aaa.xls');            //读取的文件
$conn= mysql_connect('localhost','root','') or die("连接错");  
mysql_query("set names 'gbk'");//设置编码输出
mysql_select_db('haozi'); //选择数据库
for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
  $sql = "INSERT INTO excel VALUES(null,'".$data>sheets[0]['cells'][$i][1]."')";  
echo $sql.'<br />';  
mysql_query($sql);
}
//注意:
 for $i=1 是从表的第一行开始,如果第一行是文字说明,那么$i=2
 $data>sheets[0]['cells'][$i][1] 代表读取表中的第一个列,如果要取得二个就是 $data>sheets[0]['cells'][$i][2](但要和数据库中字段数一致)








以下为优化代码,新增加可以浏览选择文件的操作



<form id="form1" name="form1" method="post" action="">
  <label>
  <input name="file" type="file" id="file13"/>
  <input type="submit" name="Submit" value="提交" />
  </label>
</form>
<p>
<?php
require_once 'reader.php';  
$data = new Spreadsheet_Excel_Reader(); 
$data->setOutputEncoding('gbk');
$conn= mysql_connect('localhost','root','haozi') or die("Can not connect to database.");  
mysql_query("set names 'gbk'");//设置编码输出
mysql_select_db('haozi'); //选择数据库
if($_POST['Submit'])
{
$data->read($_POST['file']);

for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
  $sql = "INSERT INTO excel VALUES(null,'".$data->sheets[0]['cells'][$i][1]."')"; 
  $query=mysql_query($sql);
  if($query)
    {
     echo "<mce:script type="text/javascript"><!--
alert('数据已经提交成功');window.top.location='a.php'
// --></mce:script>";
     }else{
     echo "<mce:script type="text/javascript"><!--
alert('数据已经提交失败');window.top.location='a.php'
// --></mce:script>";
     }
}
}
?>




图:




OK 执行 aaa.php 就可以查看数据已经到 mysql 数据库中去了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: