PHPExcel使第一行加粗

我正在试图使第一行的单元格大胆。

这是我为此创造的方法。

function ExportToExcel($tittles,$excel_name) { $objPHPExcel = new PHPExcel(); $objRichText = new PHPExcel_RichText(); // Set properties $objPHPExcel->getProperties()->setCreator("SAMPLE1"); $objPHPExcel->getProperties()->setLastModifiedBy("SAMPLE1"); $objPHPExcel->getProperties()->setTitle("SAMPLE1"); $objPHPExcel->getProperties()->setSubject("SAMPLE1"); $objPHPExcel->getProperties()->setDescription("SAMPLE1"); // Add some data $objPHPExcel->setActiveSheetIndex(0); $letters = range('A','Z'); $count =0; $cell_name=""; foreach($tittles as $tittle) { $cell_name = $letters[$count]."1"; $count++; $value = $tittle; $objPHPExcel->getActiveSheet()->SetCellValue($cell_name, $value); // Make bold cells $objPHPExcel->getActiveSheet()->getStyle($cell_name)->getFont()->setBold(true); } // Save Excel 2007 file $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel); //$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); $objWriter->save($excel_name.".xlsx"); } 

问题是在输出excel文件单元格不是粗体。

尝试这个

 $objPHPExcel->getActiveSheet()->getStyle("$cell_name:$cell_name")->getFont()->setBold(true); 

希望有所帮助

尝试这个

 $objPHPExcel->getActiveSheet()->getStyle('A1:D1')->getFont()->setBold(true); 
 $objPHPExcel->getActiveSheet()->getStyle('1:1')->getFont()->setBold(true); 

这样你就完成了第一行

假设标题在A1表格的第一行,并且你知道有多less个,这是我的解决scheme:

 $header = array( 'Header 1', 'Header 2' ); $objPHPExcel = new PHPExcel(); $objPHPExcelSheet = $objPHPExcel->getSheet(0); $objPHPExcelSheet->fromArray($header, NULL); $first_letter = PHPExcel_Cell::stringFromColumnIndex(0); $last_letter = PHPExcel_Cell::stringFromColumnIndex(count($header)-1); $header_range = "{$first_letter}1:{$last_letter}1"; $objPHPExcelSheet->getStyle($header_range)->getFont()->setBold(true); 

这些是一些提示,使您的单元格BoldBig fontItalic

假设我有从AL

A1 – 是你的起始单元格

L1 – 是你最后一个细胞

 $objPHPExcel->getActiveSheet()->getStyle('A1:L1')->getFont()->setBold(true); $objPHPExcel->getActiveSheet()->getStyle('A1:L1')->getFont()->setSize(16); $objPHPExcel->getActiveSheet()->getStyle('A1:L1')->getFont()->setItalic(true); 
 $objPHPExcel->getActiveSheet()->getStyle("A1:".$objPHPExcel->getActiveSheet()->getHighestDataColumn()."1")->getFont()->setBold(true); 

我发现这是一个工作的解决scheme,你可以用行号replace1的两个实例。 HighestDataColumn函数返回例如C或Z,它给你包含任何数据的表单中的最后/最高列。 还有getHighestColumn() ,那将包括空的单元格,但具有样式或是其他function的一部分。

这遍历了特定行的可变数量的列 ,在本例中是第一行:

 $rownumber = 1; $row = $this->objPHPExcel->getActiveSheet()->getRowIterator($rownumber)->current(); $cellIterator = $row->getCellIterator(); $cellIterator->setIterateOnlyExistingCells(false); foreach ($cellIterator as $cell) { $cell->getStyle()->getFont()->setBold(true); } 

尝试这个

     $ objPHPExcel = new PHPExcel();
     $ objPHPExcel-> getProperties() - > setCreator(“Maarten Balliauw”)
                                  - > setLastModifiedBy(“Maarten Balliauw”)
                                  - > setTitle(“Office 2007 XLSXtesting文档”)
                                  - > setSubject(“Office 2007 XLSXtesting文档”)
                                  - > setDescription(“使用PHP类生成的Office 2007 XLSX的testing文档”。)
                                  - > setKeywords(“office 2007 openxml php”)
                                  - > setCategory(“testing结果文件”);
     $ objPHPExcel-> setActiveSheetIndex(0);
     $ sheet = $ objPHPExcel-> getActiveSheet();
     $ sheet-> setCellValue('A1','No');
     $ sheet-> setCellValue('B1','Job ID');
     $ sheet-> setCellValue('C1','Job completed Date');
     $ sheet-> setCellValue('D1','Job Archived Date');
     $ styleArray = array(
         'font'=>数组(
         'bold'=> true
         )
     );
     $片状>的getStyle( 'A1') - > applyFromArray($ styleArray);
     $片状>的getStyle( 'B1') - > applyFromArray($ styleArray);
     $片状>的getStyle( 'C1') - > applyFromArray($ styleArray);
     $片状>的getStyle( 'D1') - > applyFromArray($ styleArray);
     $ sheet-> getPageSetup() - > setRowsToRepeatAtTopByStartAndEnd(1,1);
    

这是给我输出像下面的链接。( https://www.screencast.com/t/ZkKFHbDq1le

你可以试试

 $objPHPExcel->getActiveSheet()->getStyle(1)->getFont()->setBold(true);