2011-09-08 40 views
13

好的,這是我的困境。如何在PHP中使用Autofilters生成Excel文件?

我一直在努力爲Wordpress插件Medical Marcom自動更新他的美國Twitter醫生名單。基本上,它提供了創建表單的功能,用戶可以請求將其添加到列表中,請求可以在管理面板中確認,當它們在Excel文件中可用並填寫初始數據時,最後,某些字段會在整週內自動更新。

這是問題所在。

我的代碼是使用PHPExcel生成一個PHP文件。然而,我需要在啓動時將簡單的自動過濾器應用於表單(老實說,我不知道什麼是大問題......任何人都可以輕鬆地在Excel中應用自動過濾器,但他希望從一開始就可以使用自動過濾器)。所以,我嘗試應用我發現的代碼:

$excel->getActiveSheet()->setAutoFilter('A1:J' . $row); 

$ excel是我的PHPExcel實例。 $ row是從數據庫輸出的最後一行。點擊網址時,系統文件被立即生成和PHP的頭被設置爲輸出爲Excel文件翻譯,像這樣:

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

但是當我打開文件時,沒有自動篩選設置...我嘗試posting a question over at PHPExcel's website,但我沒有得到任何答覆,所以我決定在這裏問。

有誰知道我可能做錯了什麼?現在,他正在使用原始文件(稍微更新一下),直到解決此問題。

回答

1

我從this link瞭解到它尚未實現。

它似乎仍然是一個work item(低優先級抱歉)。

[編輯]似乎可以使用Excel 2007(請參閱此work item)。客戶使用哪種版本的Excel?

+0

我要問他。我已經看到它已經被實現,並且它在文檔中顯示它正確,但它對我沒有用。另一個發佈工作項目的人顯然已經開始工作,它只是沒有高級功能。不過,我開始想,我可能一直在試圖輸出錯誤類型的Excel文件。我會去問問我的客戶是否使用Excel 2007。目前的文件是2003年,但不幸的是...... – JaidynReiman

23

萬一有人遇到這個問題。該功能已針對XLSX和XLS實施。

你只需要指定你的標題行的範圍內,它的工作:

$excel->getActiveSheet()->setAutoFilter('A1:J1'); 
+0

只指定標題行。謝謝! – Oak