PHP把excel(xls)檔案匯入mysql資料庫_PHP教程

來源:互聯網
上載者:User
excel匯入mysql資料庫我整理了兩種辦法,一種就是使用PHP-ExcelReader來匯入,另一種是把excel轉換成csv檔案直接使用php相關函數匯入即可。

昨晚一個客戶聯絡我做網站,提出的要求是需要把客戶提供的excel檔案裡面的資料匯入到mysql資料庫,最常用的方法就是先把xls檔案匯出為csv格式的檔案,然後在解析csv格式的檔案匯入到mysql資料庫。方法比較冗餘,而且分好幾步進行,很不方便,斷橋殘雪今天介紹一種方法是直接跳過csv的中間環節,直接把excel檔案匯入mysql資料庫。

首先我們需要下載PHP-ExcelReader這是一個開源的項目,主要是來解析excel的檔案,下載地址:http://sourceforge.net/projects/phpexcelreader,下載之後解壓,主要用到excel檔案夾裡面的兩個檔案reader.php和oleread.php(這個檔案預設的是oleread.inc,不清楚為啥,一堆e文,沒看,直接改名即可)。

在reader.php檔案中找到以下類似代碼(第一行既是),改成正確的oleread.php路徑即可:require_once 'oleread.php';

然後建立一個php檔案引入reader.php,代碼如下:

代碼如下 複製代碼

require_once 'Excel/reader.php';
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('gbk');//此處設定編碼,一般都是gbk模式

$data->read('Book1.xls');//檔案路徑bKjia.c0m

error_reporting(E_ALL ^ E_NOTICE);
//這裡我就只迴圈輸出excel檔案的內容了,要入庫,只要把輸出的地方,寫一段mysql語句即可~
for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
echo """.$data->sheets[0]['cells'][$i][$j]."",";
}
echo "n";
}
?>

注意:請不要使用PHP-ExcelReader壓縮包裡面的xls進行測試,斷橋殘雪發現,那個檔案既是使用excel也打不開,所以是錯誤的。

斷橋殘雪使用上面的方法解析了一個1.4M的資料,都顯示正常,所以大家可以放心使用

phpexcel比較費資源,不過並不是所有的excel都能讀取 我們可以轉換成csv來操作

首先確認你的資料庫是什麼編碼的,以utf-8為例,
你首先開啟excel 檔案,然後儲存,選擇為另存新檔.csv檔案。
然後用文字編輯器開啟.csv檔案,另存新檔utf-8的csv
然後你寫php 可以使用php 的getcsv 開啟(這樣確保你有的欄位中含有,而導致解析錯誤),然後把解析的結果匯入到資料庫中。


如果是csv格式的我就不必要這麼麻煩了

代碼如下 複製代碼


//串連資料庫檔案 www.bKjia.c0m
$connect=mysql_connect("localhost","admin","admin") or die("連結資料庫失敗!");
//串連資料庫(test)
mysql_select_db("testcg",$connect) or die (mysql_error());

$temp=file("test.csv");//串連EXCEL檔案,格式為了.csv
for ($i=0;$i {
$string=explode(",",$temp[$i]);//通過迴圈得到EXCEL檔案中每行記錄的值
//將EXCEL檔案中每行記錄的值插入到資料庫中
$q="insert into ceshi (name,num,dom) values('$string[0]','$string[1]','$string[2]');";
mysql_query($q) or die (mysql_error());

if (!mysql_error());
{
echo " 成功匯入資料!";
}
echo $string[4]."n";
unset($string);
}
?>

http://www.bkjia.com/PHPjc/632909.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/632909.htmlTechArticleexcel匯入mysql資料庫我整理了兩種辦法,一種就是使用PHP-ExcelReader來匯入,另一種是把excel轉換成csv檔案直接使用php相關函數匯入即可。 昨晚...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.