php - 您如何在 phpspreadsheet 中读取包含公式的文件?
问题描述
我有以下代码:
$Reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
$Reader->setReadDataOnly( true );
try {
$spreadSheet = $Reader->load( $file );
} catch (\Exception $e) {
echo json_encode( $e->getMessage() );
exit;
} catch (\PhpOffice\PhpSpreadsheet\Exception $e) {
echo json_encode( $e->getMessage() );
exit;
}
$excelSheet = $spreadSheet->getActiveSheet();
$spreadSheetAry = $excelSheet->toArray();
$maxCell = $excelSheet->getHighestRowAndColumn();
$data = $excelSheet->rangeToArray( 'A1:' . $maxCell['column'] . $maxCell['row'] );
$data = array_map( 'array_filter', $data );
$data = array_filter( $data );
如果它是不包含公式的文件,它工作正常。但是,如果我尝试读取包含公式的文件,则会收到以下错误: 致命错误:在 /var/www/html/vendor/phpoffice/phpspreadsheet/src 中允许的内存大小为 134217728 字节已用尽(尝试分配 67108872 字节) /PhpSpreadsheet/Cell/Coordinate.php 在第 395 行
我的问题是,如何让 phpspreadsheet 忽略或计算文件中的公式?错误发生在$Reader->load( $file ); 在尝试读取它时,我无法从文件中取回任何数据。
任何帮助将不胜感激!
解决方案
推荐阅读
- typescript - 元素 UI 包括所有组件。制作大包大小
- php - 在php中将表格数据渲染为pdf
- python - Numpy python数组切片
- php - 如何通过 PHP 中的回显获取要在 HTML 中输出的变量
- java - 在主要活动上按后退按钮打开其他活动
- android - 最近更新后,pug get 无法正常工作。有任何想法吗?
- php - 仅在前端将搜索结果限制为 WooCommerce 产品
- javascript - 如何在 Nativescript XML 中使用 set javascript 变量值
- html - 一个块元素将另一个块元素推离屏幕
- java - 将 GCP RecognizeResponse 转换为 json