PhpSpreadsheet读取Csv,Xlsx,Xls

<?php //读取Xlsx $reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx(); //读取Xls $reader = new \PhpOffice\PhpSpreadsheet\Reader\Xls(); //读取Csv $reader = new \PhpOffice\PhpSpreadsheet\Reader\Csv(); //载入文件 $spreadsheet = $reader->load("file name"); //输出为数组 $sheetData = $spreadsheet->getActiveSheet()->toArray(); print_r($sheetData); ?>

Yii2中使用PhpSpreadsheet导出Excel数字被科学计数法表示

使用PhpSpreadsheet做数据导出Excel时遇到长数字类型会被转化为科学计数表示,原本应该是以下正常数据被自动转换成下面的显示方式,不能正常阅读。官方手册中提到可使用setCellValueExplicit,强制指定类型为字符串解决$spreadsheet->getActiveSheet()->setCellValueExplicit('A1', '861390030802899', \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING);另外一种方法是在长数字前加上一个空格也可得到解决完整示例public function actionExportDown()    ...