欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP将EXCEL导入MYSQL的具体方法介绍

程序员文章站 2022-05-29 18:38:06
...
在网上搜了很多这方面的资料,发现都是将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

  1. ?php
  2. require_once 'reader.php';
  3. // ExcelFile($filename, $encoding);
  4. $data = new Spreadsheet_Excel_Reader();
  5. // Set output Encoding.
  6. $data->setOutputEncoding('gbk');
  7. //”data.xls”是指要导入到mysql中的excel文件
  8. $data->read('data.xls');
  9. @ $db = mysql_connect('localhost', 'root', '123456') or
  10. die("Could not connect to database.");//连接数据库
  11. mysql_query("set names 'gbk'");//输出中文
  12. mysql_select_db('mydb'); //选择数据库
  13. error_reporting(E_ALL ^ E_NOTICE);
  14. for ($i = 1; $i = $data->sheets[0]['numRows']; $i++) {
  15. //以下注释的for循环打印excel表数据
  16. /*
  17. for ($j = 1; $j = $data->sheets[0]['numCols']; $j++) {
  18. echo """.$data->sheets[0]['cells'][$i][$j]."",";
  19. }
  20. echo "n";
  21. */
  22. //以下代码是将excel表数据【3个字段】插入到mysql中,
    根据你的excel表字段的多少,改写以下代码吧!
  23. $sql = "INSERT INTO test VALUES('".
  24. $data->sheets[0]['cells'][$i][1]."','".
  25. $data->sheets[0]['cells'][$i][2]."','".
  26. $data->sheets[0]['cells'][$i][3]."')";
  27. echo $sql.' br />';
  28. $res = mysql_query($sql);
  29. }
  30. ?>

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