【问题标题】:Phpexcel - how to set the font format of a cell valuePhpexcel - 如何设置单元格值的字体格式
【发布时间】:2015-03-27 09:45:25
【问题描述】:

我正在使用 phpexcel 库。但是当我想设置字体颜色和单元格值的不同样式时,当我导出文件时,这些更改不会应用在那里。 我的代码在下面

<?php 
    require_once (SPEE_PLUGIN_DIRS . "/Classes/PHPExcel.php");

    require_once (SPEE_PLUGIN_DIRS . "/Classes/PHPExcel/IOFactory.php");

    $objPHPExcel = new PHPExcel();

    $styleArray = array(
                       'font'  => array(
                       'bold'  => true,
                       'color' => array('rgb' => 'FF0000'),
                       'size'  => 15,
                       'name'  => 'Verdana'
                       ));                                       

    $objPHPExcel->setActiveSheetIndex(0);

    $objPHPExcel->setActiveSheetIndex(0)->mergeCells('A1:H1');

    $objPHPExcel->setActiveSheetIndex(0)->mergeCells('A2:H2');

    $objPHPExcel->setActiveSheetIndex(0)->mergeCells('A3:H3');

    $objPHPExcel->setActiveSheetIndex()->getStyle('E1')->applyFromArray(array("font" => array( "bold" => true))); // font not set bold.

    $objPHPExcel->getActiveSheet()->setCellValue('E1', 'my data');

    $objPHPExcel->getActiveSheet()->getCell('A7')->setValue('CNIC No');  

    $objPHPExcel->getActiveSheet()->getStyle('A7')->applyFromArray($styleArray); // this style array not work on 'A7'

?>

【问题讨论】:

  • 你检查过下面的答案stackoverflow.com/a/17619725/1578908
  • 我已阅读并关注但在我的问题中没有得到任何回应。因为问题仍然存在。
  • 您的代码在我这边工作,我无法打开 pastebin,因为它被阻止了,请尝试其他方式发送代码
  • 尝试phpfiddle.org 测试和分享代码
  • 尝试使用不同的文件名、单元格位置、单元格文本等保存。

标签: php wordpress phpexcel


【解决方案1】:

在ob_start()之后的底部;全部替换为以下代码

// Redirect output to a client’s web browser (Excel5)
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="01simple.xls"');
header('Cache-Control: max-age=0');
// If you're serving to IE 9, then the following may be needed
header('Cache-Control: max-age=1');

// If you're serving to IE over SSL, then the following may be needed
header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always  modified
header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1
header ('Pragma: public'); // HTTP/1.0

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;

【讨论】:

  • 我已经尝试过这段代码,但也没有工作。我的意思是当导出文件时,文本是正常的,格式属性不在那里应用。
  • 你试过这种单独格式化的方法$this->workbook->getActiveSheet()->getStyle('A2')->getFont()->setBold(true);
  • $objPHPExcel->getActiveSheet()->getStyle('A7')->getFont()->setBold(true);这也不起作用
  • 替换倒数第三行后,将单元格地址A2改为E1
猜你喜欢
  • 1970-01-01
  • 2017-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多