• 工作总结
  • 工作计划
  • 心得体会
  • 述职报告
  • 思想汇报
  • 发言讲话稿
  • 演讲稿
  • 申请书
  • 读后感
  • 报告材料
  • 策划方案
  • 当前位置: 写作资料库 > 其他范文 > 正文

    把csv文件导入EXCEL PHP实现将EXCEL文件导入到MYSQL

    时间:2018-08-15 16:42:36 来源:写作资料库 本文已影响 写作资料库手机站

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

    说明:

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

    文中红色标注为需要注意的地方,请替换成你配置好的数据,如数据库配置等。运行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);

    }

    ?>