首页 > 软件开发 > MYSQL >

php导入excel到mysql的方法

来源:互联网 2023-03-16 23:01:52 版权归原作者所有,如有侵权,请联系我们

前面介绍了怎样导出excel,现在介绍怎样导入excel,这里需要用到PHPExcel,可导入office2003 、office2007的xls和xlsx格式。25J办公区 - 实用经验教程分享!

工具/原料

  • PHPExcel插件
  • excel文件,php编辑器

方法/步骤

  • 1

    下载PHPExcel,解压到目录PHPExcel。25J办公区 - 实用经验教程分享!

    php导入excel到mysql的方法25J办公区 - 实用经验教程分享!

  • 2

    引用连接数据库文件和PHPExcel文件,在php文件上面加上代码25J办公区 - 实用经验教程分享!

    include("conn.php");25J办公区 - 实用经验教程分享!

    require_once './PHPExcel/PHPExcel.php';25J办公区 - 实用经验教程分享!

    require_once './PHPExcel/PHPExcel/IOFactory.php';25J办公区 - 实用经验教程分享!

    require_once './PHPExcel/PHPExcel/Reader/Excel5.php';25J办公区 - 实用经验教程分享!

    php导入excel到mysql的方法25J办公区 - 实用经验教程分享!

  • 3

    这里是导入excel2007 的xlsx格式,如果是2003格式可以把“excel2007”换成“Excel5",$excelpath是你的excel路径。25J办公区 - 实用经验教程分享!

    $objReader = PHPExcel_IOFactory::createReader('excel2007'); //use Excel5 for 2003 format25J办公区 - 实用经验教程分享!

    $excelpath='myexcel.xlsx';25J办公区 - 实用经验教程分享!

    $objPHPExcel = $objReader->load($excelpath);25J办公区 - 实用经验教程分享!

    $sheet = $objPHPExcel->哨脾getSheet(0);25J办公区 - 实用经验教程分享!

    $highestRow = $sheet->getHighestRow(); //取得总蹲仗行数25J办公区 - 实用经验教程分享!

    $highestColumn = $sheet->getHighestColumn(); //取得总列数25J办公区 - 实用经验教程分享!

    php导入excel到mysql的方法25J办公区 - 实用经验教程分享!

  • 4

    逐行循环读取excel,并加入分隔符。25J办公区 - 实用经验教程分享!

    for($j=2;$j=$highestRow;$j ) //从第二行开始读取数据25J办公区 - 实用经验教程分享!

    {25J办公区 - 实用经验教程分享!

    $str="";25J办公区 - 实用经验教程分享!

    for($k='A';$k=$highestColumn;$k ) //从A列读取数据25J办公区 - 实用经验教程分享!

    {25J办公区 - 实用经验教程分享!

    $str .=$objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue().'|*|';//读取单元格25J办公区 - 实用经验教程分享!

    }25J办公区 - 实用经验教程分享!

    $str=mb_convert_encoding($str,'GBK','auto');//根据自己编码修改25J办公区 - 实用经验教程分享!

    $strs = explode("|*|",$str);25J办公区 - 实用经验教程分享!

    // echo $str . "br />";25J办公区 - 实用经验教程分享!

    $sql = "insert into test (title,content,sn,num) values ('{$strs[0]}','{$strs[1]}','{$strs[2]}','{$strs[3]}')";25J办公区 - 实用经验教程分享!

    //echo $sql;25J办公区 - 实用经验教程分享!

    总攀宿 if(!mysql_query($sql,$conn))25J办公区 - 实用经验教程分享!

    {25J办公区 - 实用经验教程分享!

    echo 'excel err';25J办公区 - 实用经验教程分享!

    }25J办公区 - 实用经验教程分享!

    25J办公区 - 实用经验教程分享!

    }25J办公区 - 实用经验教程分享!

    php导入excel到mysql的方法25J办公区 - 实用经验教程分享!

  • 4该信息未经授权抓取自百度经验
  • 5

    数据库连接文件conn.php,根据自己数据库填写25J办公区 - 实用经验教程分享!

    ?php25J办公区 - 实用经验教程分享!

    $conn=mysql_connect("localhost","root","123456") or die("数据库服务器连接错误".mysql_error());25J办公区 - 实用经验教程分享!

    mysql_select_db("temp",$conn) or die("数据库访问错误".mysql_error());25J办公区 - 实用经验教程分享!

    mysql_query("set character set gb2312");25J办公区 - 实用经验教程分享!

    mysql_query("set names gb2312");25J办公区 - 实用经验教程分享!

    25J办公区 - 实用经验教程分享!

    ?>25J办公区 - 实用经验教程分享!

    php导入excel到mysql的方法25J办公区 - 实用经验教程分享!

  • 6

    导入效果图25J办公区 - 实用经验教程分享!

    php导入excel到mysql的方法25J办公区 - 实用经验教程分享!

    php导入excel到mysql的方法25J办公区 - 实用经验教程分享!

  • 7

    全部代码,注释部分可以调试25J办公区 - 实用经验教程分享!

    ?php25J办公区 - 实用经验教程分享!

    include("conn.php");25J办公区 - 实用经验教程分享!

    require_once './PHPExcel/PHPExcel.php';25J办公区 - 实用经验教程分享!

    require_once './PHPExcel/PHPExcel/IOFactory.php';25J办公区 - 实用经验教程分享!

    require_once './PHPExcel/PHPExcel/Reader/Excel5.php';25J办公区 - 实用经验教程分享!

    $objReader = PHPExcel_IOFactory::createReader('excel2007'); //use Excel5 for 2003 format25J办公区 - 实用经验教程分享!

    $excelpath='myexcel.xlsx';25J办公区 - 实用经验教程分享!

    $objPHPExcel = $objReader->load($excelpath);25J办公区 - 实用经验教程分享!

    $sheet = $objPHPExcel->getSheet(0);25J办公区 - 实用经验教程分享!

    $highestRow = $sheet->getHighestRow(); //取得总行数25J办公区 - 实用经验教程分享!

    $highestColumn = $sheet->getHighestColumn(); //取得总列数25J办公区 - 实用经验教程分享!

    for($j=2;$j=$highestRow;$j ) //从第二行开始读取数据25J办公区 - 实用经验教程分享!

    {25J办公区 - 实用经验教程分享!

    $str="";25J办公区 - 实用经验教程分享!

    for($k='A';$k=$highestColumn;$k ) //从A列读取数据25J办公区 - 实用经验教程分享!

    {25J办公区 - 实用经验教程分享!

    $str .=$objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue().'|*|';//读取单元格25J办公区 - 实用经验教程分享!

    }25J办公区 - 实用经验教程分享!

    $str=mb_convert_encoding($str,'GBK','auto');//根据自己编码修改25J办公区 - 实用经验教程分享!

    $strs = explode("|*|",$str);25J办公区 - 实用经验教程分享!

    //echo $str . "br />";25J办公区 - 实用经验教程分享!

    //exit;25J办公区 - 实用经验教程分享!

    $sql = "insert into test (title,content,sn,num) values ('{$strs[0]}','{$strs[1]}','{$strs[2]}','{$strs[3]}')";25J办公区 - 实用经验教程分享!

    //echo $sql;25J办公区 - 实用经验教程分享!

    //exit;25J办公区 - 实用经验教程分享!

    if(!mysql_query($sql,$conn))25J办公区 - 实用经验教程分享!

    {25J办公区 - 实用经验教程分享!

    echo 'excel err';25J办公区 - 实用经验教程分享!

    }25J办公区 - 实用经验教程分享!

    25J办公区 - 实用经验教程分享!

    }25J办公区 - 实用经验教程分享!

    25J办公区 - 实用经验教程分享!

    25J办公区 - 实用经验教程分享!

    ?>25J办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!25J办公区 - 实用经验教程分享!


    标签: MYSQL

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号