phpspreadsheet 导出excel文件 详情步骤
2018-12-11 16:48
555 查看
[code]<?php composer下载就不说了 安装了composer 打开cmd 运行composer 有没有安装上composer 输入composer -v 切换到项目目录 composer下载 composer require phpoffice/phpspreadsheet //引入自动加载类 require_once "vendor/autoload.php"; //使用Spreadsheet类 use PhpOffice\PhpSpreadsheet\Spreadsheet; //xlsx格式类 use PhpOffice\PhpSpreadsheet\Writer\Xlsx; //可以生成多种格式类 use PhpOffice\PhpSpreadsheet\IOFactory; //总结规律 设置参数的时候如果用$sheet $sheet->setTitle('Hello');而用$spreadsheet $spreadsheet->getActiveSheet()->setTitle('Hello'); 所有参数应该都可用这里两种方法 $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); //设置sheet的名字 两种方法 $sheet->setTitle('phpspreadsheet——demo'); $spreadsheet->getActiveSheet()->setTitle('Hello'); //设置第一行小标题 $k = 1; $sheet->setCellValue('A'.$k, '姓名'); $sheet->setCellValue('B'.$k, '年龄'); $sheet->setCellValue('C'.$k, '身份'); $sheet->setCellValue('D'.$k, '住址'); $info = array( ['name'=>'阿修罗','age'=>'11','identity'=>'杀手','address'=>'地狱'], ['name'=>'释迦摩尼','age'=>'>&','identity'=>'传销','address'=>'西方'], ['name'=>'李世民','age'=>'60','identity'=>'皇帝','address'=>'洛阳'], ['name'=>'朱元璋','age'=>'70','identity'=>'乞丐','address'=>'朱庄'] ); //设置A单元格的宽度 同理设置每个 $spreadsheet->getActiveSheet()->getColumnDimension('A')->setWidth(20); //设置第三行的高度 $spreadsheet->getActiveSheet()->getRowDimension('3')->setRowHeight(50); //A1水平居中 $styleArray = [ 'alignment' => [ 'horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER, ], ]; $sheet->getStyle('A1')->applyFromArray($styleArray); //将A3到D4合并成一个单元格 $spreadsheet->getActiveSheet()->mergeCells('A3:D4'); //拆分合并单元格 $spreadsheet->getActiveSheet()->unmergeCells('A3:D4'); //将A2到D8表格边框 改变为红色 $styleArray = [ 'borders' => [ 'outline' => [ 'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THICK, 'color' => ['argb' => 'FFFF0000'], ], ], ]; $sheet->getStyle('A2:D8')->applyFromArray($styleArray); //设置超链接 $sheet->setCellValue('D6', 'www.baidu.com'); $spreadsheet->getActiveSheet()->setCellValue('E6', 'www.baidu.com'); //循环赋值 $k = 2; foreach ($info as $key => $value) { $sheet->setCellValue('A'.$k, $value['name']); $sheet->setCellValue('B'.$k, $value['age']); $sheet->setCellValue('C'.$k, $value['identity']); $sheet->setCellValue('D'.$k, $value['address']); $k++; } $file_name = date('Y-m-d', time()).rand(1000, 9999); //第一种保存方式 /*$writer = new Xlsx($spreadsheet); //保存的路径可自行设置 $file_name = '../'.$file_name . ".xlsx"; $writer->save($file_name);*/ //第二种直接页面上显示下载 $file_name = $file_name . ".xlsx"; header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="'.$file_name.'"'); header('Cache-Control: max-age=0'); $writer = IOFactory::createWriter($spreadsheet, 'Xlsx'); //注意createWriter($spreadsheet, 'Xls') 第二个参数首字母必须大写 $writer->save('php://output');
下面是效果:
阅读更多
相关文章推荐
- TP5.1 使用PhpSpreadsheet插件导出excel文件出现乱码问题如何解决啊?
- PHP导出Excel 之 Spreadsheet_Excel_Writer
- PHP导出Excel 之 Spreadsheet_Excel_Writer
- OWC11 SpreadsheetClass导出到Excel,文件路径的问题
- PHP导出Excel 之 Spreadsheet_Excel_Writer
- PHP导出Excel 之 Spreadsheet_Excel_Writer
- PHP Excel类Spreadsheet_Excel_Writer 导出UTF8中文乱码的解决方法。
- 使用owc的spreadsheet导出Excel文件时,格式丢失的解决方法
- php 5.4 使用 Spreadsheet_Excel_Writer 导出excel
- PHP导出Excel 之 Spreadsheet_Excel_Writer
- C#导出分Sheet的Excel文件
- PHP导出excel(*.xls)文件的简单方法
- 【代码实现】PHP导入Excel和导出数据为Excel文件
- php 查询数据导出伪excel文件
- phpexcel数据导出分多个工作区(sheet)
- PHP导出Excel文件时导出列的数字长度太长时显示不完整或者乱码显示
- PHP导出数据表数据生成Excel表格文件
- PHP文件导出-Excel和csv
- 将DataTable导出为Excel (XML Spreadsheet).
- php导出导入excel 文件