diff --git a/README.md b/README.md index 7c77f44..7b584cd 100644 --- a/README.md +++ b/README.md @@ -209,7 +209,7 @@ Font | Bold | `StyleBuilder::setFontBold()` | Font name | `StyleBuilder::setFontName('Arial')` | Font size | `StyleBuilder::setFontSize(14)` | Font color | `StyleBuilder::setFontColor(Color::BLUE)`
`StyleBuilder::setFontColor(Color::rgb(0, 128, 255))` -Alignment | Wrap text | `StyleBuilder::setShouldWrapText()` +Alignment | Wrap text | `StyleBuilder::setShouldWrapText(true|false)` #### New sheet creation @@ -259,7 +259,7 @@ $writer->setShouldUseInlineStrings(false); // will use shared strings When reading a spreadsheet containing dates or times, Spout returns the values by default as DateTime objects. It is possible to change this behavior and have a formatted date returned instead (e.g. "2016-11-29 1:22 AM"). The format of the date corresponds to what is specified in the spreadsheet. - + ```php use Box\Spout\Reader\ReaderFactory; use Box\Spout\Common\Type; @@ -302,7 +302,7 @@ $sheetName = $sheet->getName(); // Customizing the sheet name when writing $sheet = $writer->getCurrentSheet(); $sheet->setName('My custom name'); -``` +``` > Please note that Excel has some restrictions on the sheet's name: > * it must not be blank diff --git a/src/Spout/Writer/Common/Helper/AbstractStyleHelper.php b/src/Spout/Writer/Common/Helper/AbstractStyleHelper.php index 7cf0eed..fa5e267 100644 --- a/src/Spout/Writer/Common/Helper/AbstractStyleHelper.php +++ b/src/Spout/Writer/Common/Helper/AbstractStyleHelper.php @@ -122,7 +122,7 @@ abstract class AbstractStyleHelper protected function applyWrapTextIfCellContainsNewLine($style, $dataRow) { // if the "wrap text" option is already set, no-op - if ($style->shouldWrapText()) { + if ($style->hasSetWrapText()) { return $style; } diff --git a/src/Spout/Writer/Style/Style.php b/src/Spout/Writer/Style/Style.php index 4505780..1ff0b5e 100644 --- a/src/Spout/Writer/Style/Style.php +++ b/src/Spout/Writer/Style/Style.php @@ -269,15 +269,24 @@ class Style } /** + * @param bool|void $shouldWrap Should the text be wrapped * @return Style */ - public function setShouldWrapText() + public function setShouldWrapText($shouldWrap = true) { - $this->shouldWrapText = true; + $this->shouldWrapText = $shouldWrap; $this->hasSetWrapText = true; return $this; } + /** + * @return bool + */ + public function hasSetWrapText() + { + return $this->hasSetWrapText; + } + /** * @return bool Whether specific font properties should be applied */ diff --git a/src/Spout/Writer/Style/StyleBuilder.php b/src/Spout/Writer/Style/StyleBuilder.php index d620de4..2676cbe 100644 --- a/src/Spout/Writer/Style/StyleBuilder.php +++ b/src/Spout/Writer/Style/StyleBuilder.php @@ -109,15 +109,15 @@ class StyleBuilder } /** - * Makes the text wrap in the cell if it's too long or - * on multiple lines. + * Makes the text wrap in the cell if requested * * @api + * @param bool $shouldWrap Should the text be wrapped * @return StyleBuilder */ - public function setShouldWrapText() + public function setShouldWrapText($shouldWrap = true) { - $this->style->setShouldWrapText(); + $this->style->setShouldWrapText($shouldWrap); return $this; } @@ -138,7 +138,7 @@ class StyleBuilder * * @api * @param string $color ARGB color (@see Color) - * @return StyleBuilder + * @return StyleBuilder */ public function setBackgroundColor($color) {