我正在尝试将 Box/Spout 实施到我的项目中,并且我想导出一些数据。问题是,当我尝试制作一个测试文件以下载它时它不起作用,它只是一个简单的白页,并且没有触发 .xlsx 下载。
下面是我的代码:
<?php
require_once 'vendor/box/spout/src/Spout/Autoloader/autoload.php';
use Box\Spout\Writer\Common\Creator\WriterEntityFactory;
use Box\Spout\Common\Entity\Row;
function xlsx(){
$writer = WriterEntityFactory::createXLSXWriter();
// $writer = WriterEntityFactory::createODSWriter();
// $writer = WriterEntityFactory::createCSVWriter();
$writer->setShouldUseInlineStrings(true); // default (and recommended) value
$writer->setTempFolder($customTempFolderPath);
$fileName = 'test.xlsx';
// $writer->openToFile($filePath); // write data to a file or to a PHP stream
$writer->openToBrowser($fileName); // stream data directly to the browser
$cells = [
WriterEntityFactory::createCell('Carl'),
WriterEntityFactory::createCell('is'),
WriterEntityFactory::createCell('great!'),
];
/** add a row at a time */
$singleRow = WriterEntityFactory::createRow($cells);
$writer->addRow($singleRow);
/** add multiple rows at a time */
$multipleRows = [
WriterEntityFactory::createRow($cells),
WriterEntityFactory::createRow($cells),
];
$writer->addRows($multipleRows);
/** Shortcut: add a row from an array of values */
$values = ['Carl', 'is', 'great!'];
$rowFromValues = WriterEntityFactory::createRowFromArray($values);
$writer->addRow($rowFromValues);
$writer->close();
}
这是取自官方文档的示例:https ://opensource.box.com/spout/
有什么我错过的吗?我做错了什么?