Code Duplication    Length = 44-44 lines in 4 locations

src/PhpSpreadsheet/Writer/Excel5/Worksheet.php 4 locations

@@ 3542-3585 (lines=44) @@
3539
                    $blockLineStyle |= 0x0D;
3540
                    break;
3541
            }
3542
            switch ($conditional->getStyle()->getBorders()->getRight()->getBorderStyle()) {
3543
                case \PhpSpreadsheet\Style\Border::BORDER_NONE:
3544
                    $blockLineStyle |= 0x00 << 4;
3545
                    break;
3546
                case \PhpSpreadsheet\Style\Border::BORDER_THIN:
3547
                    $blockLineStyle |= 0x01 << 4;
3548
                    break;
3549
                case \PhpSpreadsheet\Style\Border::BORDER_MEDIUM:
3550
                    $blockLineStyle |= 0x02 << 4;
3551
                    break;
3552
                case \PhpSpreadsheet\Style\Border::BORDER_DASHED:
3553
                    $blockLineStyle |= 0x03 << 4;
3554
                    break;
3555
                case \PhpSpreadsheet\Style\Border::BORDER_DOTTED:
3556
                    $blockLineStyle |= 0x04 << 4;
3557
                    break;
3558
                case \PhpSpreadsheet\Style\Border::BORDER_THICK:
3559
                    $blockLineStyle |= 0x05 << 4;
3560
                    break;
3561
                case \PhpSpreadsheet\Style\Border::BORDER_DOUBLE:
3562
                    $blockLineStyle |= 0x06 << 4;
3563
                    break;
3564
                case \PhpSpreadsheet\Style\Border::BORDER_HAIR:
3565
                    $blockLineStyle |= 0x07 << 4;
3566
                    break;
3567
                case \PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHED:
3568
                    $blockLineStyle |= 0x08 << 4;
3569
                    break;
3570
                case \PhpSpreadsheet\Style\Border::BORDER_DASHDOT:
3571
                    $blockLineStyle |= 0x09 << 4;
3572
                    break;
3573
                case \PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHDOT:
3574
                    $blockLineStyle |= 0x0A << 4;
3575
                    break;
3576
                case \PhpSpreadsheet\Style\Border::BORDER_DASHDOTDOT:
3577
                    $blockLineStyle |= 0x0B << 4;
3578
                    break;
3579
                case \PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHDOTDOT:
3580
                    $blockLineStyle |= 0x0C << 4;
3581
                    break;
3582
                case \PhpSpreadsheet\Style\Border::BORDER_SLANTDASHDOT:
3583
                    $blockLineStyle |= 0x0D << 4;
3584
                    break;
3585
            }
3586
            switch ($conditional->getStyle()->getBorders()->getTop()->getBorderStyle()) {
3587
                case \PhpSpreadsheet\Style\Border::BORDER_NONE:
3588
                    $blockLineStyle |= 0x00 << 8;
@@ 3586-3629 (lines=44) @@
3583
                    $blockLineStyle |= 0x0D << 4;
3584
                    break;
3585
            }
3586
            switch ($conditional->getStyle()->getBorders()->getTop()->getBorderStyle()) {
3587
                case \PhpSpreadsheet\Style\Border::BORDER_NONE:
3588
                    $blockLineStyle |= 0x00 << 8;
3589
                    break;
3590
                case \PhpSpreadsheet\Style\Border::BORDER_THIN:
3591
                    $blockLineStyle |= 0x01 << 8;
3592
                    break;
3593
                case \PhpSpreadsheet\Style\Border::BORDER_MEDIUM:
3594
                    $blockLineStyle |= 0x02 << 8;
3595
                    break;
3596
                case \PhpSpreadsheet\Style\Border::BORDER_DASHED:
3597
                    $blockLineStyle |= 0x03 << 8;
3598
                    break;
3599
                case \PhpSpreadsheet\Style\Border::BORDER_DOTTED:
3600
                    $blockLineStyle |= 0x04 << 8;
3601
                    break;
3602
                case \PhpSpreadsheet\Style\Border::BORDER_THICK:
3603
                    $blockLineStyle |= 0x05 << 8;
3604
                    break;
3605
                case \PhpSpreadsheet\Style\Border::BORDER_DOUBLE:
3606
                    $blockLineStyle |= 0x06 << 8;
3607
                    break;
3608
                case \PhpSpreadsheet\Style\Border::BORDER_HAIR:
3609
                    $blockLineStyle |= 0x07 << 8;
3610
                    break;
3611
                case \PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHED:
3612
                    $blockLineStyle |= 0x08 << 8;
3613
                    break;
3614
                case \PhpSpreadsheet\Style\Border::BORDER_DASHDOT:
3615
                    $blockLineStyle |= 0x09 << 8;
3616
                    break;
3617
                case \PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHDOT:
3618
                    $blockLineStyle |= 0x0A << 8;
3619
                    break;
3620
                case \PhpSpreadsheet\Style\Border::BORDER_DASHDOTDOT:
3621
                    $blockLineStyle |= 0x0B << 8;
3622
                    break;
3623
                case \PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHDOTDOT:
3624
                    $blockLineStyle |= 0x0C << 8;
3625
                    break;
3626
                case \PhpSpreadsheet\Style\Border::BORDER_SLANTDASHDOT:
3627
                    $blockLineStyle |= 0x0D << 8;
3628
                    break;
3629
            }
3630
            switch ($conditional->getStyle()->getBorders()->getBottom()->getBorderStyle()) {
3631
                case \PhpSpreadsheet\Style\Border::BORDER_NONE:
3632
                    $blockLineStyle |= 0x00 << 12;
@@ 3630-3673 (lines=44) @@
3627
                    $blockLineStyle |= 0x0D << 8;
3628
                    break;
3629
            }
3630
            switch ($conditional->getStyle()->getBorders()->getBottom()->getBorderStyle()) {
3631
                case \PhpSpreadsheet\Style\Border::BORDER_NONE:
3632
                    $blockLineStyle |= 0x00 << 12;
3633
                    break;
3634
                case \PhpSpreadsheet\Style\Border::BORDER_THIN:
3635
                    $blockLineStyle |= 0x01 << 12;
3636
                    break;
3637
                case \PhpSpreadsheet\Style\Border::BORDER_MEDIUM:
3638
                    $blockLineStyle |= 0x02 << 12;
3639
                    break;
3640
                case \PhpSpreadsheet\Style\Border::BORDER_DASHED:
3641
                    $blockLineStyle |= 0x03 << 12;
3642
                    break;
3643
                case \PhpSpreadsheet\Style\Border::BORDER_DOTTED:
3644
                    $blockLineStyle |= 0x04 << 12;
3645
                    break;
3646
                case \PhpSpreadsheet\Style\Border::BORDER_THICK:
3647
                    $blockLineStyle |= 0x05 << 12;
3648
                    break;
3649
                case \PhpSpreadsheet\Style\Border::BORDER_DOUBLE:
3650
                    $blockLineStyle |= 0x06 << 12;
3651
                    break;
3652
                case \PhpSpreadsheet\Style\Border::BORDER_HAIR:
3653
                    $blockLineStyle |= 0x07 << 12;
3654
                    break;
3655
                case \PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHED:
3656
                    $blockLineStyle |= 0x08 << 12;
3657
                    break;
3658
                case \PhpSpreadsheet\Style\Border::BORDER_DASHDOT:
3659
                    $blockLineStyle |= 0x09 << 12;
3660
                    break;
3661
                case \PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHDOT:
3662
                    $blockLineStyle |= 0x0A << 12;
3663
                    break;
3664
                case \PhpSpreadsheet\Style\Border::BORDER_DASHDOTDOT:
3665
                    $blockLineStyle |= 0x0B << 12;
3666
                    break;
3667
                case \PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHDOTDOT:
3668
                    $blockLineStyle |= 0x0C << 12;
3669
                    break;
3670
                case \PhpSpreadsheet\Style\Border::BORDER_SLANTDASHDOT:
3671
                    $blockLineStyle |= 0x0D << 12;
3672
                    break;
3673
            }
3674
            //@todo writeCFRule() => $blockLineStyle => Index Color for left line
3675
            //@todo writeCFRule() => $blockLineStyle => Index Color for right line
3676
            //@todo writeCFRule() => $blockLineStyle => Top-left to bottom-right on/off
@@ 3682-3725 (lines=44) @@
3679
            //@todo writeCFRule() => $blockColor => Index Color for top line
3680
            //@todo writeCFRule() => $blockColor => Index Color for bottom line
3681
            //@todo writeCFRule() => $blockColor => Index Color for diagonal line
3682
            switch ($conditional->getStyle()->getBorders()->getDiagonal()->getBorderStyle()) {
3683
                case \PhpSpreadsheet\Style\Border::BORDER_NONE:
3684
                    $blockColor |= 0x00 << 21;
3685
                    break;
3686
                case \PhpSpreadsheet\Style\Border::BORDER_THIN:
3687
                    $blockColor |= 0x01 << 21;
3688
                    break;
3689
                case \PhpSpreadsheet\Style\Border::BORDER_MEDIUM:
3690
                    $blockColor |= 0x02 << 21;
3691
                    break;
3692
                case \PhpSpreadsheet\Style\Border::BORDER_DASHED:
3693
                    $blockColor |= 0x03 << 21;
3694
                    break;
3695
                case \PhpSpreadsheet\Style\Border::BORDER_DOTTED:
3696
                    $blockColor |= 0x04 << 21;
3697
                    break;
3698
                case \PhpSpreadsheet\Style\Border::BORDER_THICK:
3699
                    $blockColor |= 0x05 << 21;
3700
                    break;
3701
                case \PhpSpreadsheet\Style\Border::BORDER_DOUBLE:
3702
                    $blockColor |= 0x06 << 21;
3703
                    break;
3704
                case \PhpSpreadsheet\Style\Border::BORDER_HAIR:
3705
                    $blockColor |= 0x07 << 21;
3706
                    break;
3707
                case \PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHED:
3708
                    $blockColor |= 0x08 << 21;
3709
                    break;
3710
                case \PhpSpreadsheet\Style\Border::BORDER_DASHDOT:
3711
                    $blockColor |= 0x09 << 21;
3712
                    break;
3713
                case \PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHDOT:
3714
                    $blockColor |= 0x0A << 21;
3715
                    break;
3716
                case \PhpSpreadsheet\Style\Border::BORDER_DASHDOTDOT:
3717
                    $blockColor |= 0x0B << 21;
3718
                    break;
3719
                case \PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHDOTDOT:
3720
                    $blockColor |= 0x0C << 21;
3721
                    break;
3722
                case \PhpSpreadsheet\Style\Border::BORDER_SLANTDASHDOT:
3723
                    $blockColor |= 0x0D << 21;
3724
                    break;
3725
            }
3726
            $dataBlockBorder = pack('vv', $blockLineStyle, $blockColor);
3727
        }
3728
        if ($bFormatFill == 1) {