PHP Com Excel Apply Фильтры - PullRequest
0 голосов
/ 09 мая 2018

Я открываю 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, но я не могу ее получить.

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 09 мая 2018

Хорошо, разобрался, мне пришлось передать дополнительные параметры:

define('xlAnd', 1);

$sheet->range("AS1")->AutoFilter(45, '<>', xlAnd, '> 0');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...