PhpSpreadsheet提供了丰富的API接口,可以设置很多单元格和文档属性,包括样式、图片、日期、函数等很多应用。总之,你想要什么样的Excel表格,PhpSpreadsheet都能做到。调试您的设置时,请确保提取并实例化了正确的文件。使用PhpOfficePhpSpreadsheetSpreadsheet;$电子表格=新电子表格();$worksheet=$spreadsheet->getActiveSheet();字体第一行代码将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);颜色将文本颜色设置为红色。$spreadsheet->getActiveSheet()->getStyle('A4')->getFont()->getColor()->setARGB(PhpOfficePhpSpreadsheetStyleColor::COLOR_RED);图片可以加载到Excel中。$drawing=newPhpOfficePhpSpreadsheetWorksheetDrawing();$drawing->setName('Logo');$drawing->setDescription('Logo');$drawing->setPath('./images/officelogo.jpg');$drawing->设置高度(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);对齐将A1单元格设置为水平居中。$styleArray=['alignment'=>['horizo??ntal'=>PhpOfficePhpSpreadsheetStyleAlignment::HORIZONTAL_CENTER,],];$worksheet->getStyle('A1')->applyFromArray($styleArray);将A18到E22合并为一个单元格。$spreadsheet->getActiveSheet()->mergeCells('A18:E22');拆分将拆分合并的单元格。$spreadsheet->getActiveSheet()->unmergeCells('A18:E22');Border为B2到G8的区域添加红色边框。$styleArray=['borders'=>['outline'=>['borderStyle'=>PhpOfficePhpSpreadsheetStyleBorder::BORDER_THICK,'color'=>['argb'=>'FFFF0000'],],],];$worksheet->getStyle('B2:G8')->applyFromArray($styleArray);工作表标题设置当前工作表标题。$spreadsheet->getActiveSheet()->setTitle('你好');日期时间设置日期格式。$spreadsheet->getActiveSheet()->setCellValue('D1','2018-06-15');$spreadsheet->getActiveSheet()->getStyle('D1')->getNumberFormat()->setFormatCode(PhpOfficePhpSpreadsheetStyleNumberFormat::FORMAT_DATE_YYYYMMDD2);Wrap使用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")//Author->setLastModifiedBy("Yuegg")//LastModifier->setTitle("Office2007XLSX测试文档")//Title->setSubject("Office2007XLSX测试文档")//Subtitle->setDescription("Office2007XLSX测试文档,使用PHP类生成。")//Description->setKeywords("office2007openxmlphp")//Keywords->setCategory("测试结果文件");//Category此外,PhpSpreadshee除了提供丰富的Excel文件处理接口外,还提供了CSV、PDF、HTML、XML文件处理接口。更多使用设置请参考官网文档:https://phpspreadsheet.readthedocs.io/en/stable/。
