2010-09-15 112 views
-2

請檢查我的編碼創建excel文件並下載。存儲和下載excel文件在php

 header("Pragma: public"); 
     header("Expires: 0"); 
     header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
     header("Content-Type: application/force-download"); 
     header("Content-Type: application/octet-stream"); 
     header("Content-Type: application/download");; 
     header("Content-Disposition: attachment;filename=export.xls "); 
     header("Content-Transfer-Encoding: binary "); 

     echo "<table style='border: 1px solid red;border-color:red' cellspacing='0'>"; 
     echo "<tr>"; 
     echo "<th style='background-color:yellow;border:1px solid red'>Link id</th><th style='background-color:yellow;border:1px solid red'>Priority</th><th style='background-color:yellow;border:1px solid red'>Year</th><th style='background-color:yellow;border:1px solid red'>Make</th><th style='background-color:yellow;border:1px solid red'>Model</th><th style='background-color:yellow;border:1px solid red'>Input URL</th><th style='background-color:yellow;border:1px solid red'>Changes Found</th><th style='background-color:yellow;border:1px solid red'>Output filename</th><th style='background-color:yellow;border:1px solid red'>No of Changes</th>"; 
     echo "</tr>"; 
     echo "</table>"; 

在此先感謝

+0

檢查如何的形象?什麼不行? (除了它不是一個真正的Excel文件,但我認爲你知道這一點,這是概念的一部分) – 2010-09-15 05:24:18

+0

@Pekka - 「不是一個真正的Excel文件」......這些天,我不再感到驚訝的是,相信具有.xls擴展名的HTML或CSV真的是Excel文件,或者認爲PHP在自己的頭文件中定義內容類型時自動將其HTML/CSV轉換爲真正的Excel文件的人數。 – 2010-09-15 07:49:47

+0

使用一個Content-Type頭而不是三個(application/vnd.ms-excel是真正的Excel文件的正確MIME類型),並且每行末尾只需要一個分號(;) – 2010-09-15 07:52:22

回答

2

使用外部庫像PHP Excel創建Excel文件,然後把它下載。是最簡單的方法,你不必重新發明輪子。我用過這個庫,非常好。或者你認爲可以使用COM函數來做同樣的事情,儘管我從來沒有用過它們。

+0

+1是唯一真正適合的解決方案(儘管我可以看到建造表格的簡單性如何誘人) – 2010-09-15 09:23:18

+0

這些日子之一,我將爲PHPExcel創建一個可用於HTML閱讀器將HTML轉換爲XLS/XLSX的方式與Excel可以完成的方式大致相同。這將允許用戶構建他們的HTML表格並將其導出爲真正的Excel文件 – 2010-09-15 09:29:26

+0

您的意思是指您的PHP Excel鏈接指向PHP COM頁面嗎? – 2010-09-15 09:30:59

1

如果你用<table>編寫excelfile,excel會向用戶發送一條警告,試圖打開excel文件,該文件似乎不是普通文件,如果他們想打開它無論如何。

http://i.stack.imgur.com/bx8ZY.png < - 警告