PHPExcel使第一行加粗

Rak*_*esh 69 php 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");
 }
Run Code Online (Sandbox Code Playgroud)

问题出在输出excel文件中,单元格不是粗体.

小智 111

试试这个细胞范围:

$from = "A1"; // or any value
$to = "B5"; // or any value
$objPHPExcel->getActiveSheet()->getStyle("$from:$to")->getFont()->setBold( true );
Run Code Online (Sandbox Code Playgroud)

或单细胞

$cell_name = "A1";
$objPHPExcel->getActiveSheet()->getStyle( $cell_name )->getFont()->setBold( true );
Run Code Online (Sandbox Code Playgroud)

希望有所帮助

  • 不,只有A1或A1:B1为2个单元格 (4认同)

Sad*_*san 44

试试这个

$objPHPExcel->getActiveSheet()->getStyle('A1:D1')->getFont()->setBold(true);
Run Code Online (Sandbox Code Playgroud)


小智 29

$objPHPExcel->getActiveSheet()->getStyle('1:1')->getFont()->setBold(true);
Run Code Online (Sandbox Code Playgroud)

这样你就可以获得完整的第一行

  • 为我工作 - 2:2 将整个第二行设置为粗体。getStyle(2) 也为我工作。 (2认同)

小智 19

假设标题位于从A1开始的工作表的第一行,并且您知道它们中有多少,这是我的解决方案:

$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);
Run Code Online (Sandbox Code Playgroud)


Tom*_*Tom 10

用这个:

$sheet->getStyle('A1:'.$sheet->getHighestColumn().'1')->getFont()->setBold(true);
Run Code Online (Sandbox Code Playgroud)


Viv*_*vek 9

这些都是一些提示,使您的细胞Bold,Big font,Italic

比方说,我有列从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);
Run Code Online (Sandbox Code Playgroud)


Ari*_*rie 5

$objPHPExcel->getActiveSheet()->getStyle("A1:".$objPHPExcel->getActiveSheet()->getHighestDataColumn()."1")->getFont()->setBold(true);
Run Code Online (Sandbox Code Playgroud)

我发现这是一个可行的解决方案,您可以将两个实例替换1为行号。该HighestDataColumn函数返回例如C或Z,它为您提供了包含任何数据的工作表中的最后/最高列。还getHighestColumn()存在一个将包含空但具有样式或属于其他功能的单元的单元。