日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php读取excel最佳方案,用PHP读取excel(转)

發布時間:2023/12/31 php 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php读取excel最佳方案,用PHP读取excel(转) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在 PHP 中有提供 fgetcsv 和 fputcsv 讓我們讀取 CSV 格式的檔案,先將 Excel 檔案另存為 .csv 的格式,再使用前面兩個函數來讀取或輸出檔案,反正 .csv Excel 也可以打開。

不過,.csv 中只能存一個工作表,這個應該是一個缺陷。最近正在著手寫一個程序,它必須要能讀取使用者上傳的 Excel 檔案中的數據, google 了一下,原來已經有人寫了一個叫 phpExcelReader 的 class,可以讓我們很方便的讀取任一個工作表。它的網址如下:

http://sourceforge.net/projects/phpexcelreader/

或者

http://d.download.csdn.net/source/412364

該 class 使用的方法可以參考網站下載回來的壓縮檔中的 example.php。

不過我下載回來的 (版本 2007-07-05 19:57),有兩點要注意:

reader.php 中的下面這行要修改

將 require_once 'Spreadsheet/Excel/Reader/OLERead.php';

改為 require_once 'oleread.inc';

example.php 中

修改 $data->setOutputEncoding('CP1251');

為 $data->setOutputEncoding('CP936');

不然中文會有問題。

繁體的話可以修改為CP950、日文是CP932,具體可參考codepage說明。

修改 $data->read('jxlrwtest.xls');

為自己的 excel 文件名,zip 檔中附的 jxlrwtest.xls 應該是壞了。

用了一下,還滿不錯的!解決了我一個大難題。

若中文輸出還是有問題可以參考以下信息(來自互聯網):

試著在不同機器上測試,同一個程序,卻發現有一臺機器的輸出有問題,Excel 中的所有中文字都沒讀出來。由于 Excel 的中文是以 'UTF-16LE' 的編碼儲存,所以 phpExcelReader 是利用 php 中的 iconv 來轉碼,而那臺機器的 libiconv 版本太舊了,才會無法正常的轉碼。我將 FreeBSD 上的 libiconv 更新為 libiconv-1.11_1,并且重新編譯 php4-iconv 的 ports,安裝完新版的 php4-iconv 后,中文就可以正常的輸出了。

不過,在編譯 php4-iconv 的 ports 時出現了小插曲,原來的 php4 是使用 autoconf253,但是一直出現下面的錯誤訊息:

configure: error: tag name "CXX" already exists

試了一下,修改 /usr/ports/Mk/bsd.php.mk 中的下面這行:

WANT_AUTOCONF_VER= 253

改成

WANT_AUTOCONF_VER= 259

再重新 make 后,總算是把 php-iconv 編譯好。

發表于 2009-05-19 10:50 bestmost 閱讀(918) 評論(0) ?編輯?收藏 引用 網摘 所屬分類: php模塊和類庫

總結

以上是生活随笔為你收集整理的php读取excel最佳方案,用PHP读取excel(转)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。