PHP導入導出Excel方法小結


基本上導出的文件分為兩種:

1:類Excel格式,這個其實不是傳統意義上的Excel文件,只是因為Excel的兼容能力強,能夠正確打開而已。修改這種文件后再保存,通常會提示你是否要轉換成Excel文件。
優點:簡單。
缺點:難以生成格式,如果用來導入需要自己分別編寫相應的程序。
2:Excel格式,與類Excel相對應,這種方法生成的文件更接近於真正的Excel格式。

如果導出中文時出現亂碼,可以嘗試將字符串轉換成gb2312,例如下面就把$yourStr從utf-8轉換成了gb2312:
$yourStr = mb_convert_encoding("gb2312", "UTF-8", $yourStr);

下面詳細列舉幾種方法。
一、PHP導出Excel

1:第一推薦無比風騷的PHPExcel,官方網站: http://www.codeplex.com/PHPExcel
導入導出都成,可以導出office2007格式,同時兼容2003。
下載下來的包中有文檔和例子,大家可以自行研究。
2、使用pear的Spreadsheet_Excel_Writer類
下載地址: http://pear.php.net/package/Spreadsheet_Excel_Writer
此類依賴於OLE,下載地址:http://pear.php.net/package/OLE
需要注意的是導出的Excel文件格式比較老,修改后保存會提示是否轉換成更新的格式。
不過可以設定格式,很強大。

3:利用smarty,生成符合Excel規范的XMLHTML文件
支持格式,非常完美的導出方案。不過導出來的的本質上還是XML文件,如果用來導入就需要另外處理了。
詳細內容請見rardge大俠的帖子:http://bbs.chinaunix.net/viewthread.php?tid=745757

需要注意的是如果導出的表格行數不確定時,最好在模板中把"ss:ExpandedColumnCount="5" ss:ExpandedRowCount="21""之類的東西刪掉。

4、利用pack函數打印出模擬Excel格式的斷句符號,這種更接近於Excel標准格式,用office2003修改后保存,還不會彈出提示,推薦用這種方法。
缺點是無格式。

不過筆者在64位linux系統中使用時失敗了,斷句符號全部變成了亂碼。

5、使用制表符、換行符的方法
制表符"\t"用戶分割同一行中的列,換行符"\t\n"可以開啟下一行。
6、使用com
如果你的PHP可以開啟com模塊,就可以用它來導出Excel文件

一個更好的例子: http://blog.chinaunix.net/u/16928/showart_387171.html

一、PHP導入Excel

1:還是用PHPExcel,官方網站: http://www.codeplex.com/PHPExcel。

2:使用PHP-ExcelReader,下載地址: http://sourceforge.net/projects/phpexcelreader


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM