加入收藏 | 设为首页 | 会员中心 | 我要投稿 济源站长网 (https://www.0391zz.cn/)- 数据工具、数据仓库、行业智能、CDN、运营!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PhpSpreadsheet设置单元格常用操作大全

发布时间:2022-06-16 06:31:43 所属栏目:PHP教程 来源:互联网
导读:PhpSpreadsheet提供了丰富的API接口,可以设置诸多单元格以及文档属性,包括样式、图片、日期、函数等等诸多应用,总之你想要什么样的Excel表格,PhpSpreadsheet都能做到。 在调试设置时,确保引入了正确的文件并实例化。 use PhpOfficePhpSpreadsheetSpre
  PhpSpreadsheet提供了丰富的API接口,可以设置诸多单元格以及文档属性,包括样式、图片、日期、函数等等诸多应用,总之你想要什么样的Excel表格,PhpSpreadsheet都能做到。
 
  在调试设置时,确保引入了正确的文件并实例化。
 
  use PhpOfficePhpSpreadsheetSpreadsheet;
 
  $spreadsheet = new Spreadsheet();
 
  $worksheet = $spreadsheet->getActiveSheet();
 
  字体
 
  第1行代码将A7至B7两单元格设置为粗体字,Arial字体,10号字;第2行代码将B1单元格设置为粗体字。
 
  $spreadsheet->getActiveSheet()->getStyle('A7:B7')->getFont()->setBold(true)->setName('Arial')
  
  ->setSize(10);;
  
  $spreadsheet->getActiveSheet()->getStyle('B1')->getFont()->setBold(true);
  
  图片
 
  可以将图片加载到Excel中。
 
  $drawing = new PhpOfficePhpSpreadsheetWorksheetDrawing();
  
  $drawing->setName('Logo');
  
  $drawing->setDescription('Logo');
  
  $drawing->setPath('./images/officelogo.jpg');
  
  $drawing->setHeight(36);
  
  列宽
 
  将A列宽度设置为30(字符)。
 
  $spreadsheet->getActiveSheet()->getColumnDimension('A')->setWidth(30);
 
  如果需要自动计算列宽,可以这样:
 
  $spreadsheet->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);
 
  设置默认列宽为12。
 
  $spreadsheet->getActiveSheet()->getDefaultColumnDimension()->setWidth(12);
 
  行高
 
  设置第10行行高为100pt。
 
  $spreadsheet->getActiveSheet()->getRowDimension('10')->setRowHeight(100);
 
  设置默认行高。
 
  $spreadsheet->getActiveSheet()->getDefaultRowDimension()->setRowHeight(15);
 
  颜色
 
  将文字颜色设置为红色。
 
  $spreadsheet->getActiveSheet()->getStyle('A4')
  
  ->getFont()->getColor()->setARGB(PhpOfficePhpSpreadsheetStyleColor::COLOR_RED);


  对齐
 
  将A1单元格设置为水平居中对齐。
 
  $styleArray = [
  
    'alignment' => [
  
      'horizontal' => PhpOfficePhpSpreadsheetStyleAlignment::HORIZONTAL_CENTER,
  
    ],
  
  ];
  
  $worksheet->getStyle('A1')->applyFromArray($styleArray);
  
  合并
 
  将A18到E22合并为一个单元格。
 
  $spreadsheet->getActiveSheet()->mergeCells('A18:E22');
 
  拆分
 
  将合并后的单元格拆分。
 
  $spreadsheet->getActiveSheet()->unmergeCells('A18:E22');
 
  边框
 
  将B2至G8的区域添加红色边框。
 
  $styleArray = [
  
    'borders' => [
  
      'outline' => [
  
        'borderStyle' => PhpOfficePhpSpreadsheetStyleBorder::BORDER_THICK,
  
        'color' => ['argb' => 'FFFF0000'],
  
      ],
  
    ],
  
  ];
  
  $worksheet->getStyle('B2:G8')->applyFromArray($styleArray);
  
  工作表标题
 
  设置当前工作表标题。
 
  $spreadsheet->getActiveSheet()->setTitle('Hello');
 
  日期时间
 
  设置日期格式。
 
  $spreadsheet->getActiveSheet()
  
  ->setCellValue('D1', '2018-06-15');

  $spreadsheet->getActiveSheet()->getStyle('D1')
  
  ->getNumberFormat()
  
  ->setFormatCode(PhpOfficePhpSpreadsheetStyleNumberFormat::FORMAT_DATE_YYYYMMDD2);
  
  换行
 
  使用n进行单元格内换行,相当于(ALT+"Enter")。
 
  $spreadsheet->getActiveSheet()->getCell('A4')->setValue("hellonworld");
  
  $spreadsheet->getActiveSheet()->getStyle('A4')->getAlignment()->setWrapText(true);
  
  超链接
 
  将单元格设置为超链接形式。
 
  $spreadsheet->getActiveSheet()->setCellValue('E6', 'www.helloweba.net');
  
  $spreadsheet->getActiveSheet()->getCell('E6')->getHyperlink()->setUrl('https://www.helloweba.net');
  
  使用函数
 
  使用SUM计算B5到C5之间单元格的总和。其他函数同理:最大数(MAX),最小数(MIN),平均值(AVERAGE)。
 
  $spreadsheet->getActiveSheet()->setCellValue('B7', '=SUM(B5:C5)');
 
  设置文档属性
 
  可以设置Excel文档属性。
 
  $spreadsheet->getProperties()
  
  ->setCreator("Helloweba") //作者
  
  ->setLastModifiedBy("Yuegg") //最后修改者
  
  ->setTitle("Office 2007 XLSX Test Document") //标题
  
  ->setSubject("Office 2007 XLSX Test Document") //副标题
  
  ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") //描述
  
  ->setKeywords("office 2007 openxml php") //关键字
  
  ->setCategory("Test result file"); //分类
  
  此外,除了提供丰富的Excel文件处理接口外,PhpSpreadshee还提供了CSV,PDF,HTML以及XML等文件处理接口。
  

(编辑:济源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读