Box\Spout\Writer\Style\Style::setShouldWrapText PHP Method

setShouldWrapText() public method

public setShouldWrapText ( boolean | void $shouldWrap = true ) : Style
$shouldWrap boolean | void Should the text be wrapped
return Style
    public function setShouldWrapText($shouldWrap = true)
    {
        $this->shouldWrapText = $shouldWrap;
        $this->hasSetWrapText = true;
        return $this;
    }

Usage Example

Exemplo n.º 1
0
 /**
  * Set the "wrap text" option if a cell of the given row contains a new line.
  *
  * @NOTE: There is a bug on the Mac version of Excel (2011 and below) where new lines
  *        are ignored even when the "wrap text" option is set. This only occurs with
  *        inline strings (shared strings do work fine).
  *        A workaround would be to encode "\n" as "_x000D_" but it does not work
  *        on the Windows version of Excel...
  *
  * @param \Box\Spout\Writer\Style\Style $style The original style
  * @param array $dataRow The row the style will be applied to
  * @return \Box\Spout\Writer\Style\Style The eventually updated style
  */
 protected function applyWrapTextIfCellContainsNewLine($style, $dataRow)
 {
     // if the "wrap text" option is already set, no-op
     if ($style->hasSetWrapText()) {
         return $style;
     }
     foreach ($dataRow as $cell) {
         if (is_string($cell) && strpos($cell, "\n") !== false) {
             $style->setShouldWrapText();
             break;
         }
     }
     return $style;
 }