如何使用PHP中的自动过滤器生成Excel文件?

时间:2011-09-08 07:41:33

标签: php phpexcel autofilter

好的,这是我的困境。

我一直致力于Medical Marcom的Wordpress插件,以自动更新他的美国推特医生名单。基本上,它提供了创建表单的功能,用户可以请求将其添加到列表中,可以在管理面板中确认请求,添加时可以在Excel文件中使用并填写初始数据,最后,某些字段会在一周内自动更新。

这是问题所在。

我的代码使用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,但我没有得到任何回复,所以我决定在这里问。

有谁知道我可能做错了什么?目前他正在使用原始文件(尽管有所更新),直到此问题得到解决。

2 个答案:

答案 0 :(得分:1)

我从this link了解到它尚未实施。

好像它仍然是work item(对不起有低优先级)。

[编辑]似乎可能适用于Excel 2007(请参阅此work item)。您的客户使用哪个版本的Excel?

答案 1 :(得分:1)

如果您希望自动过滤整个工作表

PHPSpreadsheet会更好implementation

    $sheet->setAutoFilter(
        $sheet->calculateWorksheetDimension()
    );