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.交流群: 2702237 13835667

相關課文
  • mac開發接入微信公衆號接口返回報錯 cURL error 56: SSLRead() return error -9806

  • PHP的換行符是什麽

  • pecl安裝程序時報錯Array and string offset access syntax with curly braces is no longer supported

  • 由於商家傳入的H5交易參數有誤,該筆交易暫時無法完成,請聯繫商家解決

我要說說
網上賓友點評