さて、これが私のジレンマです。
私はWordpressプラグイン Medical Marcom で、彼の米国の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);
しかし、ファイルを開くと、オートフィルターが設定されていません...試してみました PHPExcelのWebサイトに質問を投稿してください 、応答がなかったので、ここで質問することにしました。
誰かが私が間違っているかもしれないことを知っていますか?今のところ、この問題が解決されるまで、彼は元のファイル(ただし、少し更新されています)を使用します。
誰かがこの質問に出くわした場合に備えて。この機能は、XLSXとXLSの両方に実装されています。
ヘッダー行を機能させるには、ヘッダー行の範囲を指定する必要があります。
$Excel->getActiveSheet()->setAutoFilter('A1:J1');
PHPSpreadsheetの方がはるかに優れています 実装シート全体を自動フィルタリングする場合:
$sheet->setAutoFilter(
$sheet->calculateWorksheetDimension()
);