1. 導入
  2. 書式設定のチュー
    トリアル
  3. Workbook::close
  4. Workbook::&addWorksheet
  5. Workbook::&addFormat
  6. Workbook::setCountry
  7. Workbook::&setTempDir
  8. Workbook::setVersion
  9. Workbook::setCustomColor
  10. Workbook::worksheets
  11. Worksheet::getName
  12. Worksheet::
    setInputEncoding
  13. Worksheet::select
  14. Worksheet::activate
  15. Worksheet::setFirstSheet
  16. Worksheet::protect
  17. Worksheet::setColumn
  18. Worksheet::writeCol
  19. Worksheet::writeRow
  20. Worksheet::setSelection
  21. Worksheet::freezePanes
  22. Worksheet::thawPanes
  23. Worksheet::
    hideScreenGridlines
  24. Worksheet::setPortrait
  25. Worksheet::setLandscape
  26. Worksheet::setPaper
  27. Worksheet::setHeader
  28. Worksheet::setFooter
  29. Worksheet::setMerge
  30. Worksheet::
    centerHorizontally
  31. Worksheet::
    centerVertically
  32. Worksheet::setMargins
  33. Worksheet::setMargins_LR
  34. Worksheet::setMargins_TB
  35. Worksheet::setMarginLeft
  36. Worksheet::
    setMarginRight
  37. Worksheet::setMarginTop
  38. Worksheet::
    setMarginBottom
  39. Worksheet::repeatRows
  40. Worksheet::repeatColumns
  41. Worksheet::printArea
  42. Worksheet::hideGridlines
  43. Worksheet::
    printRowColHeaders
  44. Worksheet::fitToPages
  45. Worksheet::
    setHPagebreaks
  46. Worksheet::
    setVPagebreaks
  47. Worksheet::setZoom
  48. Worksheet::setPrintScale
  49. Worksheet::write
  50. Worksheet::writeNumber
  51. Worksheet::writeString
  52. Worksheet::writeNote
  53. Worksheet::writeBlank
  54. Worksheet::writeFormula
  55. Worksheet::writeUrl
  56. Worksheet::setRow
  57. Worksheet::mergeCells
  58. Worksheet::insertBitmap
  59. Worksheet::setOutline
  60. Spreadsheet_Excel_Writer
  61. send
  62. rowcolToCell
  63. Format::setAlign
  64. Format::setVAlign
  65. Format::setHAlign
  66. Format::setMerge
  67. Format::setLocked
  68. Format::setUnLocked
  69. Format::setBold
  70. Format::setBottom
  71. Format::setTop
  72. Format::setLeft
  73. Format::setRight
  74. Format::setBorder
  75. Format::setBorderColor
  76. Format::setBottomColor
  77. Format::setTopColor
  78. Format::setLeftColor
  79. Format::setRightColor
  80. Format::setFgColor
  81. Format::setBgColor
  82. Format::setColor
  83. Format::setPattern
  84. Format::setUnderline
  85. Format::setItalic
  86. Format::setSize
  87. Format::setTextWrap
  88. Format::setTextRotation
  89. Format::setNumFormat
  90. Format::setStrikeOut
  91. Format::setOutLine
  92. Format::setShadow
  93. Format::setScript
  94. Format::setFontFamily

Worksheet::writeString

Worksheet::writeString – 指定した行・列 (ゼロから数える) に文字列を書き込む

Synopsis

require_once "Spreadsheet/Excel/Writer.php";

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

Description

指定した行・列 (ゼロから数える) に文字列を書き込みます。 注意: Excel 5 で定義されている 255 文字という制限があります。 $format はオプションです。 正常に終了した場合に 0、 パラメータが足りない場合に -1、 行や列が範囲を超えている場合に -2、 長い文字列を 255 文字に切り詰めた場合に -3 を返します。

Parameter

  • integer $row - ゼロから数えた行番号。

  • integer $col - ゼロから数えた列番号。

  • string $str - 書き込む文字列。

  • mixed $format - セルの XF フォーマット。

Note

This function can not be called statically.

Example

writeString() の使用法

<?php

?>
指定した行・列 (ゼロから数える) に数値を書き込む (Previous) 指定した行・列に関連付けるコメントを書き込む (Next)
Last updated: Fri, 18 Apr 2014 — 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
e.g.

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

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

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").