PhpSpreadsheet的简单使用
发布时间:2020-12-13 21:24:05 所属栏目:PHP教程 来源:网络整理
导读:? 由于PHPExcel已经不再维护,PhpSpreadsheet是PHPExcel的下一个版本。PhpSpreadsheet是一个用纯PHP编写的库,并引入了命名空间,PSR规范等。这里简单介绍下PhpSpreadsheet的导入导出功能。 1、安装 使用composer安装: composer require phpoffice/phpsprea
? 由于PHPExcel已经不再维护,PhpSpreadsheet是PHPExcel的下一个版本。PhpSpreadsheet是一个用纯PHP编写的库,并引入了命名空间,PSR规范等。这里简单介绍下PhpSpreadsheet的导入导出功能。 1、安装
composer require phpoffice/phpspreadsheet
? ?https://github.com/PHPOffice/PhpSpreadsheet ? 2、excel文件导出/** * excel文件导出 */ function export() { require_once __DIR__ . '/vendor/autoload.php'; $data = [ ['title1' => '111','title2' => '222'], ['title1' => '111','title2' => '222'] ]; $title = ['第一行标题','第二行标题']; // Create new Spreadsheet object $spreadsheet = new PhpOfficePhpSpreadsheetSpreadsheet(); $sheet = $spreadsheet->getActiveSheet(); 方法一,使用 setCellValueByColumnAndRow //表头 //设置单元格内容 foreach ($title as $key => $value) { 单元格内容写入 $sheet->setCellValueByColumnAndRow($key + 1,1,); } $row = 2; 从第二行开始 $data $item) { $column = 1; $item ) { 单元格内容写入 $column,1)">$row,1)">); $column++; } $row++; } 方法二,使用 setCellValue //表头 //设置单元格内容 $titCol = 'A'; $sheet->setCellValue($titCol . '1',1)">); $titCol++; } $dataCol = 'A'$dataCol . $dataCol++ Redirect output to a client’s web browser (Xlsx) header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="01simple.xlsx"'header('Cache-Control: max-age=0' If you're serving to IE 9,then the following may be needed header('Cache-Control: max-age=1'); If you're serving to IE over SSL,1)">header('Expires: Mon,26 Jul 1997 05:00:00 GMT'); Date in the past header('Last-Modified: ' . gmdate('D,d M Y H:i:s') . ' GMT'); always modified header('Cache-Control: cache,must-revalidate'); HTTP/1.1 header('Pragma: public'); HTTP/1.0 $writer = PhpOfficePhpSpreadsheetIOFactory::createWriter($spreadsheet,'Xlsx'); $writer->save('php://output'exit; } 结果: ? 3、excel文件保存到本地* * excel文件保存到本地 save() { 表头 //设置单元格内容 Save $writer->save('01simple.xlsx'); } ? 4、读取excel文件内容* * 读取excel文件内容 read() { ; $inputFileName = dirname(__FILE__) . '/01simple.xlsx'$spreadsheet = PhpOfficePhpSpreadsheetIOFactory::load($inputFileName 方法二 $sheetData = $spreadsheet->getActiveSheet()->toArray(null,1)">true,1)">truereturn $sheetData; } 结果: ? 可能出现的问题:1、Fatal error: Uncaught Error: Class 'PhpOfficePhpSpreadsheetSpreadsheet' not found这是因为没有自动加载。可以手动引入加载文件。 require_once __DIR__ . '/vendor/autoload.php';
或者: require_once __DIR__ . '/vendor/phpoffice/phpspreadsheet/src/Bootstrap.php';
? 2、Fatal error: Interface 'PsrSimpleCacheCacheInterface' not found这是因为没有psr文件,缺少simple-cache模块。如果使用composer安装的话会自动生成。没有的话可以手动下载。 GitHub下载地址:https://github.com/php-fig/simple-cache/releases ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |