【问题标题】:How to styling the cell in PHPexcel?如何在 PHPexcel 中设置单元格的样式?
【发布时间】:2017-02-01 23:26:43
【问题描述】:

我想:

1) 设置单元格的最小宽度

网上有一些关于这个的讨论,但我发现代码不起作用:

$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(100);

列大小不根据数据大小/预设宽度扩展

2) 在单元格下划线

我正在制作一个帐户表,所以我想在某行下划线

$styleArray = array(
  'borders' => array(
    'bottom' => array(
      'style' => PHPExcel_Style_Border::BORDER_THIN
    )
  )
);

$sheet->getStyle('A1')->applyFromArray($styleArray);

但是下划线不存在,不知道是不是因为边框也算1行?例如,如果 A1 有下划线,那么我需要将 A3 用于下一行。

非常感谢您的帮助。

更新:

1) 设置最小宽度:

从源代码中,该列是一个数字而不是字符串,所以我尝试这样但仍然没有运气

    $excel->getActiveSheet()->getColumnDimensionByColumn(0)->setAutoSize(false);
    $excel->getActiveSheet()->getColumnDimensionByColumn(0)->setWidth('4.42');

2) 下划线正在工作

    $border_bottom = array(
        'borders' => array(
            'bottom' => array(
                'style' => PHPExcel_Style_Border::BORDER_THIN
            )
        )
    );

    $excel->getActiveSheet()->getStyle("7")->applyFromArray($border_bottom);

它有效,但只是想知道我可以在设置单元格而不是硬编码位置时加下划线:A1:B2 等...

【问题讨论】:

  • 案例一:你有没有试过根据列的长度使用条件语句?情况 2:工作表是否定义为 $objPHPExcel->getActiveSheet() ?
  • 请检查我更新的问题,谢谢

标签: php html excel styles phpexcel


【解决方案1】:

在数字 1 中,您可以检查:PHPExcel auto size column width

关于你的 2 号,你试过用这个吗?不是在单元格下划线,而是在单元格的值下划线。

 $styleArray = array(
          'font' => array(
          'underline' => PHPExcel_Style_Font::UNDERLINE_SINGLE
      )
 );

$objPHPExcel->getActiveSheet()->getStyle('A1')->applyFromArray($styleArray);
unset($styleArray);

如果您希望某个单元格区域带有下划线,而不是:

objPHPExcel->getActiveSheet()->getStyle('A1')->applyFromArray($styleArray);

使用:

$objPHPExcel->getActiveSheet()->getStyle('A1:A3')->applyFromArray($styleArray);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-29
    • 1970-01-01
    • 2012-05-22
    • 1970-01-01
    • 2022-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多