Skip to content

Commit d7b367f

Browse files
Fix sheet-wide font family settings, fixes issue SpartnerNL#269
1 parent 269c6ca commit d7b367f

File tree

1 file changed

+9
-14
lines changed

1 file changed

+9
-14
lines changed

src/Maatwebsite/Excel/Classes/LaravelExcelWorksheet.php

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -666,10 +666,12 @@ public function _setAttributes($setter, $params)
666666
// If is a style
667667
elseif (in_array($key, $this->allowedStyles))
668668
{
669-
$this->setDefaultStyles($setter, $key, $params);
669+
return $this->setDefaultStyles($setter, $key, $params);
670+
}
671+
else
672+
{
673+
throw new LaravelExcelException('[ERROR] Laravel Worksheet method [' . $setter . '] does not exist.');
670674
}
671-
672-
throw new LaravelExcelException('[ERROR] Laravel Worksheet method [' . $setter . '] does not exist.');
673675
}
674676

675677
/**
@@ -724,24 +726,17 @@ public function setFont($fonts)
724726
* @param array|string $params
725727
* @return PHPExcel_Style
726728
*/
727-
protected function setFontStyle($caller, $key, $params)
729+
protected function setFontStyle($caller, $setter, $key, $params)
728730
{
729731
// Set caller to font
730732
$caller = $caller->getFont();
731733
$params = is_array($params) ? $params : array($params);
732734

733735
// Clean the setter name
734-
$key = lcfirst(str_replace('font', '', $key));
736+
$setter = lcfirst(str_replace('Font', '', $setter));
735737

736-
// Get setter method
737-
list($setter, $key) = $this->_setSetter($key);
738-
739-
switch ($key)
740-
{
741-
case 'family':
742-
$setter = 'setName';
743-
break;
744-
}
738+
// Replace special cases
739+
$setter = str_replace('Family', 'Name', $setter);
745740

746741
return call_user_func_array(array($caller, $setter), $params);
747742
}

0 commit comments

Comments
 (0)