2011-09-08 12 views
13

さて、ここに私のジレンマがあります。PHPでオートフィルタを使用してExcelファイルを生成するには?

私はMedical MarcomのためのWordpressプラグインで、米国のTwitterの医師のリストを自動的に更新しています。基本的には、ユーザーがリストに追加をリクエストできるフォームを作成する機能を提供し、管理パネルでリクエストを確認したり、Excelファイルでリクエストを追加したり、初期データを入力したりすることができます。特定のフィールドは、1週間を通して自動的に更新されます。

ここに問題があります。

私のコードは、PHPExcelを使用してPHPでExcelファイルを生成しています。しかし、私は起動時に簡単なオートフィルタをシートに適用する必要があります(正直なところ、誰でも簡単にオートフィルタをExcelに適用できますが、最初から利用可能にしたいと思っています)。

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

$ Excelが私のPHPExcelインスタンスです:だから、私は私が見つけたコードを適用してみました。 $ rowはデータベースから出力される最後の行です。ファイルには、URLがクリックされたときにすぐに生成され、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

関連する問題