一 报错原因
PHPExcel 已经在2015年停止更新,并且其存在许多安全性和兼容性问题
二 解决方案
-
将文件excel另存为2003版本,使用这个新文件读取
-
使用PhpSpreadsheet进行操作安装
安装
composer require phpoffice/phpspreadsheet
读取文件
<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\IOFactory;
$inputFileName = 'example.xlsx';
/** Load $inputFileName to a Spreadsheet Object **/
$spreadsheet = IOFactory::load($inputFileName);
$sheetData = $spreadsheet->getActiveSheet()->toArray();
var_dump($sheetData);
写入文件
<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Hello World !');
$writer = new Xlsx($spreadsheet);
$writer->save('hello_world.xlsx');