У меня есть файл export.php
с целью настройки проверки данных с помощью функции VLOOKUP.Тем не менее, кажется, что я не могу найти ничего в Рецептах, которые действительно поддерживают это.Я думал, что нашел что-то, но это, кажется, не работает, или, по крайней мере, это не работает так, как мне бы хотелось.
Вот мой упрощенный код:
require_once 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$i = 3;
foreach ($_POST['foo'] as $key => $el)
{
$sheet->setCellValue('D'. $i, '=VLOOKUP(C'. $i .',array,2,0)');
$i++;
}
# Column A = labels
# Column B = value
# create range
$spreadsheet->addNamedRange(new \PhpOffice\PhpSpreadsheet\NamedRange('array', $spreadsheet->getActiveSheet(), 'A'));
$spreadsheet->addNamedRange(new \PhpOffice\PhpSpreadsheet\NamedRange('array', $spreadsheet->getActiveSheet(), 'B'));
# redirect browser output -> php://output (download)
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="hello.xlsx"');
header('Cache-Control: max-age=0');
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Xlsx');
$writer->save('php://output');
Однако это не работает - в ячейке возникает фатальная ошибка, так как вы не можете выбрать столбец для добавления в диапазон.
Как создать набор данных для VLOOKUP с использованием PHPSpreadsheet?
Спасибо