You are here

private function PHPExcel_Writer_Excel5_Worksheet::_writeNote in Loft Data Grids 7.2

Same name and namespace in other branches
  1. 6.2 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Worksheet.php \PHPExcel_Writer_Excel5_Worksheet::_writeNote()

* Writes a note associated with the cell given by the row and column. * NOTE records don't have a length limit. * *

Parameters

integer $row Zero indexed row: * @param integer $col Zero indexed column * @param string $note The note to write

File

vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Worksheet.php, line 781

Class

PHPExcel_Writer_Excel5_Worksheet
PHPExcel_Writer_Excel5_Worksheet

Code

private function _writeNote($row, $col, $note) {
  $note_length = strlen($note);
  $record = 0x1c;

  // Record identifier
  $max_length = 2048;

  // Maximun length for a NOTE record
  // Length for this record is no more than 2048 + 6
  $length = 0x6 + min($note_length, 2048);
  $header = pack("vv", $record, $length);
  $data = pack("vvv", $row, $col, $note_length);
  $this
    ->_append($header . $data . substr($note, 0, 2048));
  for ($i = $max_length; $i < $note_length; $i += $max_length) {
    $chunk = substr($note, $i, $max_length);
    $length = 0x6 + strlen($chunk);
    $header = pack("vv", $record, $length);
    $data = pack("vvv", -1, 0, strlen($chunk));
    $this
      ->_append($header . $data . $chunk);
  }
  return 0;
}