PHP实现将EXCEL文件导入到MYSQL_MySQL教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:mysql导入数据库文件最大限制的修改
自己电脑上装的WAMP,在导入数据库比较大(大于2M)时遇到错误,不能导入。 找到解决方法: php.ini配置文件中有三处地方需要改动: upload_max_filesize memory_limit post_max_size 这三个值都工具实际情况改下,重启服务器以后,虽然导入时仍然显示是 最大限制:2,04

   最近因项目需求,要实现将excel文件通过php页面导入mysql数据库中。在网上搜了很多这方面的资料,发现都是将excel文件另存为csv文件,然后从csv文件导入。这里介绍一个直接将excel文件导入mysql的例子。我花了一晚上的时间测试,无论导入简繁体都不会出现乱码,非常好用。

  说明:

  测试环境:MYSQL数据库采用utf8编码.导入EXCEL文档是xls格式,经过测试,xlsx 格式[excel 2007]也OK.

  文中红色标注为需要注意的地方,请替换成你配置好的数据,如数据库配置等。运行http://localost/test.php实现导入。

  以下是我贴出的详细代码,其中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 <= $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.'

  ';

  $res = mysql_query($sql);

  }

  ?>

分享:Perl操作mysql数据库的方法
Perl对Mysql的操作。 一、标准操作 1、连接、关闭 my $dbh = DBI-connect(DBI:mysql:database=DBname;host=localhost,user,pwd, {RaiseError = 1}); $dbh-disconnect(); 2、类似插入等无返回操作 my $sqr = $dbh-prepare(insert into table_name(Name,region_id,inuse,

来源:模板无忧//所属分类:MySQL教程/更新时间:2014-10-10
相关MySQL教程