gpt4 book ai didi

php - 使用 PhpSpreadsheet PHP 设置单元格边框样式

转载 作者:行者123 更新时间:2023-12-04 11:49:27 27 4
gpt4 key购买 nike

我使用 PhpSpreadsheet 读取或写入 Excel 文件。我想在我的 excel 中添加边框样式,所以我使用了以下代码:

<?php
$fxls ='myfile.xlsx';
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($fxls);
$xls_data = $spreadsheet->getActiveSheet()->toArray(null, true, true, true);
$sheet = $spreadsheet->getActiveSheet();

$styleArray = array(
'borders' => array(
'outline' => array(
'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THICK,
'color' => array('argb' => 'FFFF0000'),
),
),
);

$sheet ->getStyle('B2:G8')->applyFromArray($styleArray);

/* Generate the Excel File */
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="myNEWFile.xlsx"');
header('Cache-Control: max-age=0');
header('Cache-Control: max-age=1');
header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header ('Cache-Control: cache, must-revalidate');
header ('Pragma: public');
$writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet);
$writer->save('php://output');
exit;

我没有收到任何错误,但创建的 excel 文件没有边框。我想念什么!???

最佳答案

tl;博士
超越style array way您也可以通过方法链接方式进行操作:

use PhpOffice\PhpSpreadsheet\Style\Border;
use PhpOffice\PhpSpreadsheet\Style\Color;

$spreadsheet
->getActiveSheet()
->getStyle('B2')
->getBorders()
->getOutline()
->setBorderStyle(Border::BORDER_THICK)
->setColor(new Color('FFFF0000'));
公然抄袭 official docs on cell formatting .
可用的边框图案
docs on cell formatting包含可用模式列表及其在样式数组表单中使用的键。对于方法链接形式,只需打一个 get在 key 的大写版本之前。这些方法都可以在 ->getActiveSheet()->getStyle('B2')->getBorders() 下找到就像在示例中一样。
  • 在单个单元格上:
  • 左:->getLeft()
  • 对:->getRight()
  • 顶部:->getTop()
  • 底部:->getBottom()
  • 对角线:->getDiagonal()

  • 在一个区域:
  • 所有边界:->getAllBorders()
  • 大纲:->getOutline()
  • 内部:->getInside()
  • 垂直:->getVertical()
  • 水平:->getHorizontal()


  • 可视化的模式(也来自 docs ):
    enter image description here
    可用的边框样式
    Border::BORDER_DASHDOT
    Border::BORDER_DASHDOTDOT
    Border::BORDER_DASHED
    Border::BORDER_DOTTED
    Border::BORDER_DOUBLE
    Border::BORDER_HAIR
    Border::BORDER_MEDIUM
    Border::BORDER_MEDIUMDASHDOT
    Border::BORDER_MEDIUMDASHDOTDOT
    Border::BORDER_MEDIUMDASHED
    Border::BORDER_NONE
    Border::BORDER_SLANTDASHDOT
    Border::BORDER_THICK
    Border::BORDER_THIN

    关于php - 使用 PhpSpreadsheet PHP 设置单元格边框样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46959282/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com