PHP實現將EXCEL文件導入到MYSQL_MySQL教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:mysql導入數據庫文件最大限制的修改
      自己電腦上裝的WAMP,在導入數據庫比較大(大于2M)時遇到錯誤,不能導入。 找到解決方法: php.ini配置文件中有三處地方需要改動: upload_max_filesize memory_limit post_max_size 這三個值都工具實際情況改下,重啟服務器以后,雖然導入時仍然顯示是 最大限制:2,04

         最近因項目需求,要實現將excel文件通過php頁面導入mysql數據庫中。在網上搜了很多這方面的資料,發現都是將excel文件另存為csv文件,然后從csv文件導入。這里介紹一個直接將excel文件導入mysql的例子。我花了一晚上的時間測試,無論導入簡繁體都不會出現亂碼,非常好用。

        說明:

        測試環境:MYSQL數據庫采用utf8編碼.導入EXCEL文檔是xls格式,經過測試,xlsx 格式[excel 2007]也OK.

        文中紅色標注為需要注意的地方,請替換成你配置好的數據,如數據庫配置等。運行http://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);

        }

        ?>

      分享:Perl操作mysql數據庫的方法
      Perl對Mysql的操作。 一、標準操作 1、連接、關閉 my $dbh = DBI-connect(DBI:mysql:database=DBname;host=localhost,user,pwd, {RaiseError = 1}); $dbh-disconnect(); 2、類似插入等無返回操作 my $sqr = $dbh-prepare(insert into table_name(Name,region_id,inuse,

      來源:模板無憂//所屬分類:MySQL教程/更新時間:2014-10-10
      相關MySQL教程