Execl 工具类
Execl 工具类概述
Execl 工具类基于 \PhpOffice\PhpSpreadsheet 类库,可以方便的对 Excel 进行读、写操作。
相关文档 : https://phpspreadsheet.readthedocs.io/en/latest/
使用方法建议参考官方示例 : https://github.com/PHPOffice/PhpSpreadsheet/tree/master/samples
创建 Execl 示例
<?php use \PhpOffice\PhpSpreadsheet\Spreadsheet; use \PhpOffice\PhpSpreadsheet\Writer\Xlsx; class indexController extends grace{ public function index(){ // 加载第三方类库 require_once PG_IN.'vendor'.PG_DS.'autoload.php'; $spreadsheet = new Spreadsheet(); // 创建基础信息 $spreadsheet->getProperties()->setCreator("phpGrace") ->setLastModifiedBy("phpGrace") ->setTitle("phpGrace demo") ->setSubject("objPHPExcel"); // 设置 sheet 名称 $spreadsheet->getActiveSheet(0)->setTitle('学生信息表'); // 设置标列及题 $spreadsheet->setActiveSheetIndex(0) ->setCellValue('A1', '姓名') ->setCellValue('B1', '性别') ->setCellValue('C1', '年龄'); // 数据填充【此数据可以来自数据库】 $data = array( array('张三', '男', 18), array('李四', '男', 19), array('lucy', '女', 20) ); $i = 2; foreach($data as $rows){ $spreadsheet->setActiveSheetIndex(0) ->setCellValue('A'.$i, $rows[0]) ->setCellValue('B'.$i, $rows[1]) ->setCellValue('C'.$i, $rows[2]); $i++; } //保存为 xls $writer = new Xlsx($spreadsheet); $writer->save('t.xlsx'); } }
读取 Execl 示例
<?php use \PhpOffice\PhpSpreadsheet\Spreadsheet; class indexController extends grace{ public function index(){ // 加载第三方类库 require_once PG_IN.'vendor'.PG_DS.'autoload.php'; $spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load('t.xlsx'); $sheetData = $spreadsheet->getSheet(0)->toArray(null, true, true, true); echo '<table>'; foreach($sheetData as $sheet){ echo '<tr> <td>'.$sheet['A'].'</td> <td>'.$sheet['B'].'</td> <td>'.$sheet['C'].'</td> </tr>'; } echo '</table>'; } }
下载地址
mac 系统环境 可以在编辑器的tools目录下通过 Terminal 执行命令行直接下载到目录里
curl -O https://cdn.jsdelivr.net/gh/yaoGrace/CdnStatics/FrontProject/phpgrace/PHPExcel.zip