VLOOKUP возвращает # N / A в таблицу PHPS - PullRequest
0 голосов
/ 14 декабря 2018

Я пытаюсь работать с калькулятором, реализованным в файле Excel с phpspreadsheet.Работа с несколькими листами.На первом листе есть сам калькулятор.

Помещаю ли я значения прямо в него?

$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load('calc.xlsx');
$worksheet = $spreadsheet->setActiveSheetIndex(0);
$worksheet->setCellValue('D8', 210000);
$worksheet->setCellValue('D9', 160000);
$worksheet->setCellValue('D10', '5%');
$worksheet->setCellValue('D11', 30);
$worksheet->setCellValue('D12', -1073);
$worksheet->setCellValue('D15', 50000);
$worksheet->setCellValue('D16', '7%');
$worksheet->setCellValue('D19', 5000);
$worksheet->setCellValue('D20', 5000);
$worksheet->setCellValue('D21', 4500);
$worksheet->setCellValue('D24', '12/7/2018');

Потому что ниже кода выводится # N / A

$worksheet->setCellValue('I8', '=VLOOKUP("L",Daily!A:N,3,FALSE)');
echo $worksheet->getCell('I8')->getFormattedValue();

Попыткасделать это в плагине wrdpress.

1 Ответ

0 голосов
/ 22 марта 2019

Что находится на листе с именем "Ежедневно" в вашей формуле VLOOKUP?Я использовал тот же код, и на Листе 1 было получено следующее:

Sheet1

Я также включил то, что у меня было в «Ежедневный» лист для целей тестирования.

Daily

$path = 'c:/xxx/xxx/desktop/TestDoc.xlsx';

$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($path);
$worksheet = $spreadsheet->setActiveSheetIndex(0);
$worksheet->setCellValue('D8', 210000);
$worksheet->setCellValue('D9', 160000);
$worksheet->setCellValue('D10', '5%');
$worksheet->setCellValue('D11', 30);
$worksheet->setCellValue('D12', -1073);
$worksheet->setCellValue('D15', 50000);
$worksheet->setCellValue('D16', '7%');
$worksheet->setCellValue('D19', 5000);
$worksheet->setCellValue('D20', 5000);
$worksheet->setCellValue('D21', 4500);
$worksheet->setCellValue('D24', '12/7/2018');
$worksheet->setCellValue('I8', '=VLOOKUP("L",Daily!A:N,3,FALSE)');
echo $worksheet->getCell('I8')->getFormattedValue();
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, "Xlsx");
$writer->save('c:/xxx/xxx/desktop/TestDoc.xlsx');
...