1. Einführung
  2. Tutorial über
  3. Workbook::close
  4. Workbook::&addWorksheet
  5. Workbook::&addFormat
  6. Workbook::&setTempDir
  7. Workbook::setCustomColor
  8. Worksheet::getName
  9. Worksheet::
  10. Worksheet::select
  11. Worksheet::activate
  12. Worksheet::setFirstSheet
  13. Worksheet::protect
  14. Worksheet::setColumn
  15. Worksheet::setSelection
  16. Worksheet::freezePanes
  17. Worksheet::thawPanes
  18. Worksheet::setPortrait
  19. Worksheet::setLandscape
  20. Worksheet::setPaper
  21. Worksheet::setHeader
  22. Worksheet::setFooter
  23. Worksheet::
  24. Worksheet::
  25. Worksheet::setMargins
  26. Worksheet::setMargins_LR
  27. Worksheet::setMargins_TB
  28. Worksheet::setMarginLeft
  29. Worksheet::
  30. Worksheet::setMarginTop
  31. Worksheet::
  32. Worksheet::repeatRows
  33. Worksheet::repeatColumns
  34. Worksheet::printArea
  35. Worksheet::hideGridlines
  36. Worksheet::
  37. Worksheet::fitToPages
  38. Worksheet::
  39. Worksheet::
  40. Worksheet::setZoom
  41. Worksheet::setPrintScale
  42. Worksheet::write
  43. Worksheet::writeNumber
  44. Worksheet::writeString
  45. Worksheet::writeNote
  46. Worksheet::writeBlank
  47. Worksheet::writeFormula
  48. Worksheet::writeUrl
  49. Worksheet::setRow
  50. Worksheet::mergeCells
  51. Worksheet::insertBitmap
  52. Worksheet::setOutline
  53. Spreadsheet_Excel_Writer
  54. send
  55. rowcolToCell
  56. Format::setAlign
  57. Format::setVAlign
  58. Format::setHAlign
  59. Format::setMerge
  60. Format::setBold
  61. Format::setBottom
  62. Format::setTop
  63. Format::setLeft
  64. Format::setRight
  65. Format::setBorder
  66. Format::setBorderColor
  67. Format::setBottomColor
  68. Format::setTopColor
  69. Format::setLeftColor
  70. Format::setRightColor
  71. Format::setFgColor
  72. Format::setBgColor
  73. Format::setColor
  74. Format::setPattern
  75. Format::setUnderline
  76. Format::setItalic
  77. Format::setSize
  78. Format::setTextWrap
  79. Format::setTextRotation
  80. Format::setNumFormat
  81. Format::setStrikeOut
  82. Format::setOutLine
  83. Format::setShadow
  84. Format::setScript
  85. Format::setFontFamily


Worksheet::writeString – Write a string to the specified row and column (zero indexed).


require_once "Spreadsheet/Excel/Writer.php";

void Worksheet::writeString ( integer $row , integer $col , string $str , mixed $format=0 )


Write a string to the specified row and column (zero indexed). NOTE: there is an Excel 5 defined limit of 255 characters. $format is optional. Returns 0 : normal termination -1 : insufficient number of arguments -2 : row or column out of range -3 : long string truncated to 255 chars


  • integer $row - Zero indexed row

  • integer $col - Zero indexed column

  • string $str - The string to write

  • mixed $format - The XF format for the cell


This function can not be called statically.


Using writeString()


Write a double to the specified row and column (zero indexed). (Previous) Writes a note associated with the cell given by the row and column. (Next)
Last updated: Sun, 19 Dec 2010 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

Note by: alan@akbkhome.com
There appears to be a limit even with $workbook->setVersion(8); of somewhere over 2048 characters (eg 4096 breaks output of future lines, 2048 works)
Note by: Jason M
After playing around with the 'newline' problem I discovered the real solution is using "\n" and also setting 'TextWrap' on the cell. For example:

$fmt = $book->addFormat(array('TextWrap' => 1));
$sheet->write(0,0, "Line1\rLine2\rLine3", $fmt);

If you don't enable TextWrap on the cell then the text will not break when viewed in the spreadsheet table (but it will break if you edit it in the formula bar).

I hope this helps those that continue to have this problem.
Note by: user@example.com
Thanks for the ' $workbook->setVersion(8); ' tip. It really solved my problem, now I can export long strings into cells for .csv files!!
Note by: user@example.com
For working on strings longer than 255 chars:

$workbook->setVersion(8); // Use Excel97/2000 Format
$worksheet->writeString(0, 0, $str);
Note by: marisa@datasmithconsulting.net
Is there any way around the 255 limit on a cell? If I have a file open in Excel, I can paste more than 255 characters into a cell, but I can't seem to accomplish this when generating a spreadsheet with this package. I could do it as a Note, but I really want to have the text in a cell.
Note by: basstradamus@trygues.com
To break a line use: $twoLines = "line1".chr(10)."line2".
Note by: chris@chris-hughes.net
You need to define a wrap format for Excel

$wrap_format =& $xls->addFormat();

$sheet->writeString(0,4,"Count \n Items, $wrap_format");
Note by: kirh

just write \x0a for the new line.
Note by: mrjoops@yahoo.no
I tried to write a string with some line breaks in. So I add some "\n" to my string.
The result in Openoffice looks exactly like I want, however in Excel, all the text appear on the same line but when I edit the cell, the text appears with the line breaks and I have to effectively "enter" the edited text to make it display correctly on the worksheet.
Is there a method to make the text display correctly on Excel opening ?
Note by: cconstantine
mrjoops linebreak question: Try including DOS-style line breaks. Instead of adding the newline character ("\n") to your string, try adding the CARRIAGE-RETURN/NEWLINE character pair ("\r\n").