2008-10-22 44 views
4

什麼是從Linux服務器上的PHP應用程序生成Excel文檔的狀態?我可以可靠地從Linux服務器上的PHP應用程序創建Excel文檔嗎?

我很喜歡創建Office 97(xls)Excel文件。我對這個問題的有限研究已經發現了這個Pear package。它似乎自2006年以來處於測試版狀態。

您可以分享您的成功或失敗從PHP生成Excel文件?有沒有可靠和成熟的工具可用?

更新:對於這個應用程序,我確實需要生成一個Excel文件,而不僅僅是一個CSV文件。

回答

2

我已經使用了PEAR包,它對我的​​Office'97 -2000兼容文件非常有用。

如果它是一個簡單的電子表格,Office也可以處理CSV,哪個PHP可以output natively and easily

+0

我只是評論你的個人資料......在羅切斯特,紐約地區的另一個SOER ...我已經發現迄今3。 – 2008-10-22 14:48:29

2

如何使用表(電子表格是一個表,所以沒關係),並在PHP腳本產生的表(一個或多個)上投擲這些行:

header("Content-Type: application/vnd.ms-excel"); 
header("Expires: 0"); 
header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 

或者你也可以產生一個CSV文件,因爲Excel可以很好地打開這些文件。

+0

我想我以前在ASP應用程序中看到過這一點。它似乎可以正常工作,但與技術限制中的CSV一樣。我認爲Excel也可能會警告你關於不一致的文件類型。 – Nick 2008-10-22 14:48:38

0

現在一切都處於測試狀態。你是否真的需要excel文件與論壇和所有這些,或者你只需​​要在Excel中打開一個記錄列表來處理?

我發現當客戶想要一個Excel文件時,我真的可以生成一個CSV文件,他們可以在Excel中處理它,並在事後添加他們想要的公式。

1

最簡單的方法確實是使用頭來「僞造」一個Excel文件。下面是以Excel文件形式開始下載的代碼,客戶端的Excel只會解析找到的任何HTML代碼(表格,csv,...)並以類似Excel的格式顯示它。

header("Content-type: application/vnd.ms-excel"); 
header("Content-Disposition: attachment; filename=excel.xls"); 
2

我已經使用了很多成功的PEAR包,但是在實現複雜公式時有一些限制。它與Excel存儲公式的方式以及最後計算的結果有關。有時即使公式是正確的,當第一次打開工作表時,單元格顯示爲空。一旦細胞有焦點然後失去焦點,就會執行計算並填充單元格。

該庫實際上是一個來自perl庫的端口,它稍微更完整,但具有相同的問題。

2

我已經在幾個proyects中使用PERL Spreadsheet :: WriteExcel沒有問題。您可能需要製作一些修復程序和包裝以增強功能並使其更容易,但我發現它確實無疑。

我喜歡它,因爲它的平臺獨立,快速和容易設置。

相關問題