Add a way to disable text wrapping (Fix #247)

This commit is contained in:
hastegan 2016-09-10 01:18:22 +02:00
parent 3e0afd858f
commit ba6c4c7b78
4 changed files with 20 additions and 11 deletions

View File

@ -209,7 +209,7 @@ Font | Bold | `StyleBuilder::setFontBold()`
| Font name | `StyleBuilder::setFontName('Arial')`
| Font size | `StyleBuilder::setFontSize(14)`
| Font color | `StyleBuilder::setFontColor(Color::BLUE)`<br>`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

View File

@ -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;
}

View File

@ -269,15 +269,24 @@ class Style
}
/**
* @param boolean $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 boolean
*/
public function hasSetWrapText()
{
return $this->hasSetWrapText;
}
/**
* @return bool Whether specific font properties should be applied
*/

View File

@ -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 boolean $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)
{