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);
这些是一些提示,使您的单元格Bold
, Big font
, Italic
假设我有从A
到L
列
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);