StyleHandler   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 23
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 7
c 0
b 0
f 0
dl 0
loc 23
rs 10
wmc 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A applySheetStyle() 0 14 2
1
<?php
2
/**
3
 * @name: StyleHandler
4
 * @author: JiaMeng <[email protected]>
5
 * @file: StyleHandler.php
6
 * @Date: 2025/01/XX
7
 */
8
namespace tinymeng\spreadsheet\Excel\Handler;
9
10
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
11
use tinymeng\spreadsheet\Util\WorkSheetHelper;
12
13
class StyleHandler
14
{
15
    /**
16
     * 应用全表样式
17
     * @param Worksheet $worksheet
18
     * @param array $sheetStyle 样式配置数组
19
     * @param array $fields 字段列表
20
     * @param int $endRow 数据结束行
21
     */
22
    public static function applySheetStyle(
23
        Worksheet $worksheet,
24
        array $sheetStyle,
25
        array $fields,
26
        int $endRow
27
    ) {
28
        if (empty($sheetStyle)) return;
29
        
30
        // 计算数据区范围
31
        $startCol = 'A';
32
        $endCol = WorkSheetHelper::cellName(count($fields) - 1);
33
        $startRow = 1;
34
        $cellRange = $startCol . $startRow . ':' . $endCol . $endRow;
35
        $worksheet->getStyle($cellRange)->applyFromArray($sheetStyle);
36
    }
37
}
38
39