PhpSpreadsheet 导出实例

chenvle 2021-05-04 AM 1099℃ 0条

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');
标签: none

非特殊说明,本博所有文章均为博主原创。

评论啦~