使用Spout从Excel读取的数据写入失败

时间:2018-03-02 16:46:03

标签: php excel

我正在使用Spout阅读excelsheet并直接将此数据写入工作表会导致错误。

Trying to add a value with an unsupported type: object in vendor/box/spout/src/Spout/Writer/XLSX/Internal/Worksheet.php on line 231

有人有解决方案吗?

$reader = ReaderFactory::create(Type::XLSX);
$reader->open($sFileNameExcel);

$writer = WriterFactory::create(Type::XLSX);
$writer->openToFile($sWritePath.$sWriteFileName);

foreach ($reader->getSheetIterator() as $sheet) 
{
    if ($sheet->getName()=='mysheet')
    {
        foreach ($sheet->getRowIterator() as $row) 
        {
            $writer->addRow($row);
        }
    }
}

$writer->close();
$reader->close();

我的数据由字符串,整数和双字段组成。

1 个答案:

答案 0 :(得分:1)

您正在阅读的工作表可能包含日期。作者无法解释日期,因此错误。

尝试以这种方式配置您的阅读器:$reader->setShouldFormatDates(true);,然后再致电open