PHP

PHPExcel导入数据到mysql数据库

字号+ 编辑: 国内TP粉 修订: 种花家 来源: ThinkPHP 2023-09-10 我要说两句(0)

用了PHPexcel插件,将excel的数据导入到msyql数据库里面,之前一直有乱码。

页面编码:gb2312

mysql编码:gb2312

<?php
include_once('inc/conn.php');
$file = $HTTP_POST_FILES['file']['name'];
$filetempname = $_FILES['file']['tmp_name'];
//自己设置的上传文件存放路径
    $filePath = 'upFile/';
    $str = "";
  
    require_once 'PHPExcel.php';
    require_once 'PHPExcel\IOFactory.php';
    require_once 'PHPExcel\Reader\Excel2007.php';//excel 2007
    $filename=explode(".",$file);//把上传的文件名以“.”好为准做一个数组。 
    $time=date("Y-m-d-H-i-s");//去当前上传的时间 
    $filename[0]=$time;//取文件名t替换 
    $name=implode(".",$filename); //上传后的文件名 
    $uploadfile=$filePath.$name;//上传后的文件名地址 
    //move_uploaded_file() 函数将上传的文件移动到新位置。若成功,则返回 true,否则返回 false。
  $result=move_uploaded_file($filetempname,$uploadfile);//假如上传到当前目录下
    if($result){ // 如果上传文件成功,就执行导入excel操作
        $objReader = PHPExcel_IOFactory::createReader('Excel2007');
        $objPHPExcel = PHPExcel_IOFactory::load($uploadfile);
        $sheet = $objPHPExcel->getSheet(0); 
        $highestRow = $sheet->getHighestRow(); // 取得总行数 
        $highestColumn = $sheet->getHighestColumn(); // 取得总列数
    
    // 循环读取excel文件,读取一条,插入一条
        for($j=2;$j<=$highestRow;$j++){ 
            for($k='A';$k<=$highestColumn;$k++){ 
                $str .= iconv("UTF-8","gbk",$objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue()).'\\';//读取单元格
            } 
            $strs = explode("\\",$str);
            mysql_query("set names 'gb2312'");//这就是指定数据库字符集,一般放在连接数据库后面就系了 
            $sql = "INSERT INTO report (duty_date,name_am,name_pm) VALUES('".$strs[0]."','".$strs[1]."','".$strs[2]."')";     
            if(!mysql_query($sql)){
                return false;
            }
            $str = "";
        } 
        unlink($uploadfile); //删除上传的excel文件
        $msg = "导入成功!";
    }else{
        $msg = "导入失败!";
    }
    return $msg;

conn.php是数据库连接代码!

阅完此文,您的感想如何?
  • 有用

    0

  • 没用

    0

  • 开心

    0

  • 愤怒

    0

  • 可怜

    0

1.如文章侵犯了您的版权,请发邮件通知本站,该文章将在24小时内删除;
2.本站标注原创的文章,转发时烦请注明来源;
3.交流群: PHP+JS聊天群

相关课文
  • mac开发接入微信公众号接口返回报错 cURL error 56: SSLRead() return error -9806

  • pecl安装程序时报错Array and string offset access syntax with curly braces is no longer supported

  • PHP的换行符是什么

  • 由于商家传入的H5交易参数有误,该笔交易暂时无法完成,请联系商家解决

我要说说
网上宾友点评