1. 安装
使用composer安装:
composer require phpoffice/phpspreadsheet
GitHub下载:
https://github.com/PHPOffice/PhpSpreadsheet
2. 使用 Spreadsheet
use PhpOffice\PhpSpreadsheet\Spreadsheet;
//Xlsx类 保存文件功能类
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
3. Spreadsheet对象方法介绍
// 实例化 Spreadsheet 对象
$spreadsheet = new Spreadsheet();
// 1获取活动工作薄
$sheet = $spreadsheet->getActiveSheet();
// 2获取单元格
$cell = $sheet->getCell('A1'); //方法1
$cell = $sheet->getCellByColumnAndRow(1,1); //方法2
// 3给单元格赋值
$cellA->setValue('A1单元格内容');
// 3-1获取设置单元格,链式操作
$sheet->getCell('A3')->setValue('郭靖');
$sheet->getCellByColumnAndRow(1,4)->setValue('杨康');
// 3-2获取单元格
$cellA = $sheet->getCell('A1');
echo '值: ', $cellA->getValue(),PHP_EOL;
echo '坐标: ', $cellA->getCoordinate(); //获取单元格坐标
// 4 Xlsx类 将电子表格保存到文件
$writer = new Xlsx($spreadsheet);
$writer->save('1.xlsx');
// 单元格强化
/**
* 参数说明
* 设置单元格
* setCellValue(参数1,参数2)
* 参数1:单元格位置
* 参数2:单元格的值
* setCellValueByColumnAndRow(参数1,参数2,参数3)
* 参数1:列位置
* 参数2:行位置
* 参数3:单元格的值
*/
$sheet->setCellValue('A1','ID');
$sheet->setCellValue('B1','姓名');
$sheet->setCellValue('C1','年龄');
$sheet->setCellValue('D1','身高');
$sheet->setCellValueByColumnAndRow(1, 2, 1);
$sheet->setCellValueByColumnAndRow(2, 2, '李雷');
$sheet->setCellValueByColumnAndRow(3, 2, '18岁');
$sheet->setCellValueByColumnAndRow(4, 2, '188cm');
$sheet->setCellValueByColumnAndRow(1, 3, 2);
$sheet->setCellValueByColumnAndRow(2, 3, '韩梅梅');
$sheet->setCellValueByColumnAndRow(3, 3, '17岁');
$sheet->setCellValueByColumnAndRow(4, 3, '165cm');
/
**
* 单元格文字样式设置
*/
// getStyle 获取单元格样式
// getFont 获取单元格文字样式
// setBold 设置文字粗细
// setName 设置文字字体
// setSize 设置文字大小
$sheet->getStyle('B2')->getFont()->setBold(true)->setName('宋体')->setSize(20);
/
**
* 单元格文字颜色
*/
// getColor 获取坐标颜色
// setRGB设置字体颜色
// getRGB 获取字体颜色
// setARGB 设置字体颜色
// getARGB 获取字体颜色
$sheet->getStyle('B2')->getFont()->getColor()->setRGB('#AEEEEE');
$sheet->getStyle('B3')->getFont()->getColor()->setARGB('FFFF0000');
/
**
*单元格格式
*/
$sheet->setCellValue('A1','2019-10-10 10:10:10');
$sheet->setCellValue('A2','2019-10-10 10:10:10');
$sheet->getStyle('A2')->getNumberFormat()->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_DATE_YYYYMMDD2);
# Xlsx类 将电子表格保存到文件
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
$writer = new Xlsx($spreadsheet);
$writer->save('1.xlsx');