Я открываю Excel с com, и он работает нормально, но у меня возникают проблемы с применением двух фильтров одновременно к одному и тому же столбцу. Вот код:
$excel = new COM("excel.application") or die("Unable to instanciate excel");
$excel->Visible = 1;
$excel->DisplayAlerts = 1;
$wb = $excel->Workbooks->Open($dataFile);
$sheet = $wb->Worksheets(1);
// apply filters
$sheet->range("AS1")->AutoFilter(45, '<>'); // works with single filter
Однако когда я хочу применить два фильтра одновременно к одному столбцу, это не работает:
$sheet->range("AS1")->AutoFilter(45, '<> AND > 0'); // DOES NOT WORK
Я предполагаю, что вместо использования AND
в качестве литеральной строки в вышеприведенном выражении я должен использовать фактическую константу Excel Excel.XlAutoFilterOperator.xlAnd
, но я не могу ее получить.
Любая помощь будет принята с благодарностью.