@@ -25,50 +25,50 @@ discard block |
||
| 25 | 25 | * @see OLE, Spreadsheet_Excel_Writer |
| 26 | 26 | */ |
| 27 | 27 | |
| 28 | -define('SPREADSHEET_EXCEL_READER_BIFF8', 0x600); |
|
| 29 | -define('SPREADSHEET_EXCEL_READER_BIFF7', 0x500); |
|
| 30 | -define('SPREADSHEET_EXCEL_READER_WORKBOOKGLOBALS', 0x5); |
|
| 31 | -define('SPREADSHEET_EXCEL_READER_WORKSHEET', 0x10); |
|
| 32 | - |
|
| 33 | -define('SPREADSHEET_EXCEL_READER_TYPE_BOF', 0x809); |
|
| 34 | -define('SPREADSHEET_EXCEL_READER_TYPE_EOF', 0x0a); |
|
| 35 | -define('SPREADSHEET_EXCEL_READER_TYPE_BOUNDSHEET', 0x85); |
|
| 36 | -define('SPREADSHEET_EXCEL_READER_TYPE_DIMENSION', 0x200); |
|
| 37 | -define('SPREADSHEET_EXCEL_READER_TYPE_ROW', 0x208); |
|
| 38 | -define('SPREADSHEET_EXCEL_READER_TYPE_DBCELL', 0xd7); |
|
| 39 | -define('SPREADSHEET_EXCEL_READER_TYPE_FILEPASS', 0x2f); |
|
| 40 | -define('SPREADSHEET_EXCEL_READER_TYPE_NOTE', 0x1c); |
|
| 41 | -define('SPREADSHEET_EXCEL_READER_TYPE_TXO', 0x1b6); |
|
| 42 | -define('SPREADSHEET_EXCEL_READER_TYPE_RK', 0x7e); |
|
| 43 | -define('SPREADSHEET_EXCEL_READER_TYPE_RK2', 0x27e); |
|
| 44 | -define('SPREADSHEET_EXCEL_READER_TYPE_MULRK', 0xbd); |
|
| 45 | -define('SPREADSHEET_EXCEL_READER_TYPE_MULBLANK', 0xbe); |
|
| 46 | -define('SPREADSHEET_EXCEL_READER_TYPE_INDEX', 0x20b); |
|
| 47 | -define('SPREADSHEET_EXCEL_READER_TYPE_SST', 0xfc); |
|
| 48 | -define('SPREADSHEET_EXCEL_READER_TYPE_EXTSST', 0xff); |
|
| 49 | -define('SPREADSHEET_EXCEL_READER_TYPE_CONTINUE', 0x3c); |
|
| 50 | -define('SPREADSHEET_EXCEL_READER_TYPE_LABEL', 0x204); |
|
| 51 | -define('SPREADSHEET_EXCEL_READER_TYPE_LABELSST', 0xfd); |
|
| 52 | -define('SPREADSHEET_EXCEL_READER_TYPE_NUMBER', 0x203); |
|
| 53 | -define('SPREADSHEET_EXCEL_READER_TYPE_NAME', 0x18); |
|
| 54 | -define('SPREADSHEET_EXCEL_READER_TYPE_ARRAY', 0x221); |
|
| 55 | -define('SPREADSHEET_EXCEL_READER_TYPE_STRING', 0x207); |
|
| 56 | -define('SPREADSHEET_EXCEL_READER_TYPE_FORMULA', 0x406); |
|
| 57 | -define('SPREADSHEET_EXCEL_READER_TYPE_FORMULA2', 0x6); |
|
| 58 | -define('SPREADSHEET_EXCEL_READER_TYPE_FORMAT', 0x41e); |
|
| 59 | -define('SPREADSHEET_EXCEL_READER_TYPE_XF', 0xe0); |
|
| 60 | -define('SPREADSHEET_EXCEL_READER_TYPE_BOOLERR', 0x205); |
|
| 61 | -define('SPREADSHEET_EXCEL_READER_TYPE_UNKNOWN', 0xffff); |
|
| 28 | +define('SPREADSHEET_EXCEL_READER_BIFF8', 0x600); |
|
| 29 | +define('SPREADSHEET_EXCEL_READER_BIFF7', 0x500); |
|
| 30 | +define('SPREADSHEET_EXCEL_READER_WORKBOOKGLOBALS', 0x5); |
|
| 31 | +define('SPREADSHEET_EXCEL_READER_WORKSHEET', 0x10); |
|
| 32 | + |
|
| 33 | +define('SPREADSHEET_EXCEL_READER_TYPE_BOF', 0x809); |
|
| 34 | +define('SPREADSHEET_EXCEL_READER_TYPE_EOF', 0x0a); |
|
| 35 | +define('SPREADSHEET_EXCEL_READER_TYPE_BOUNDSHEET', 0x85); |
|
| 36 | +define('SPREADSHEET_EXCEL_READER_TYPE_DIMENSION', 0x200); |
|
| 37 | +define('SPREADSHEET_EXCEL_READER_TYPE_ROW', 0x208); |
|
| 38 | +define('SPREADSHEET_EXCEL_READER_TYPE_DBCELL', 0xd7); |
|
| 39 | +define('SPREADSHEET_EXCEL_READER_TYPE_FILEPASS', 0x2f); |
|
| 40 | +define('SPREADSHEET_EXCEL_READER_TYPE_NOTE', 0x1c); |
|
| 41 | +define('SPREADSHEET_EXCEL_READER_TYPE_TXO', 0x1b6); |
|
| 42 | +define('SPREADSHEET_EXCEL_READER_TYPE_RK', 0x7e); |
|
| 43 | +define('SPREADSHEET_EXCEL_READER_TYPE_RK2', 0x27e); |
|
| 44 | +define('SPREADSHEET_EXCEL_READER_TYPE_MULRK', 0xbd); |
|
| 45 | +define('SPREADSHEET_EXCEL_READER_TYPE_MULBLANK', 0xbe); |
|
| 46 | +define('SPREADSHEET_EXCEL_READER_TYPE_INDEX', 0x20b); |
|
| 47 | +define('SPREADSHEET_EXCEL_READER_TYPE_SST', 0xfc); |
|
| 48 | +define('SPREADSHEET_EXCEL_READER_TYPE_EXTSST', 0xff); |
|
| 49 | +define('SPREADSHEET_EXCEL_READER_TYPE_CONTINUE', 0x3c); |
|
| 50 | +define('SPREADSHEET_EXCEL_READER_TYPE_LABEL', 0x204); |
|
| 51 | +define('SPREADSHEET_EXCEL_READER_TYPE_LABELSST', 0xfd); |
|
| 52 | +define('SPREADSHEET_EXCEL_READER_TYPE_NUMBER', 0x203); |
|
| 53 | +define('SPREADSHEET_EXCEL_READER_TYPE_NAME', 0x18); |
|
| 54 | +define('SPREADSHEET_EXCEL_READER_TYPE_ARRAY', 0x221); |
|
| 55 | +define('SPREADSHEET_EXCEL_READER_TYPE_STRING', 0x207); |
|
| 56 | +define('SPREADSHEET_EXCEL_READER_TYPE_FORMULA', 0x406); |
|
| 57 | +define('SPREADSHEET_EXCEL_READER_TYPE_FORMULA2', 0x6); |
|
| 58 | +define('SPREADSHEET_EXCEL_READER_TYPE_FORMAT', 0x41e); |
|
| 59 | +define('SPREADSHEET_EXCEL_READER_TYPE_XF', 0xe0); |
|
| 60 | +define('SPREADSHEET_EXCEL_READER_TYPE_BOOLERR', 0x205); |
|
| 61 | +define('SPREADSHEET_EXCEL_READER_TYPE_UNKNOWN', 0xffff); |
|
| 62 | 62 | define('SPREADSHEET_EXCEL_READER_TYPE_NINETEENFOUR', 0x22); |
| 63 | -define('SPREADSHEET_EXCEL_READER_TYPE_MERGEDCELLS', 0xE5); |
|
| 63 | +define('SPREADSHEET_EXCEL_READER_TYPE_MERGEDCELLS', 0xE5); |
|
| 64 | 64 | |
| 65 | -define('SPREADSHEET_EXCEL_READER_UTCOFFSETDAYS' , 25569); |
|
| 65 | +define('SPREADSHEET_EXCEL_READER_UTCOFFSETDAYS', 25569); |
|
| 66 | 66 | define('SPREADSHEET_EXCEL_READER_UTCOFFSETDAYS1904', 24107); |
| 67 | -define('SPREADSHEET_EXCEL_READER_MSINADAY', 86400); |
|
| 67 | +define('SPREADSHEET_EXCEL_READER_MSINADAY', 86400); |
|
| 68 | 68 | //define('SPREADSHEET_EXCEL_READER_MSINADAY', 24 * 60 * 60); |
| 69 | 69 | |
| 70 | 70 | //define('SPREADSHEET_EXCEL_READER_DEF_NUM_FORMAT', "%.2f"); |
| 71 | -define('SPREADSHEET_EXCEL_READER_DEF_NUM_FORMAT', "%s"); |
|
| 71 | +define('SPREADSHEET_EXCEL_READER_DEF_NUM_FORMAT', "%s"); |
|
| 72 | 72 | |
| 73 | 73 | |
| 74 | 74 | /* |
@@ -201,7 +201,7 @@ discard block |
||
| 201 | 201 | * @var array |
| 202 | 202 | * @access public |
| 203 | 203 | */ |
| 204 | - var $dateFormats = array ( |
|
| 204 | + var $dateFormats = array( |
|
| 205 | 205 | 0xe => "d/m/Y", |
| 206 | 206 | 0xf => "d-M-Y", |
| 207 | 207 | 0x10 => "d-M", |
@@ -222,26 +222,26 @@ discard block |
||
| 222 | 222 | * @access public |
| 223 | 223 | */ |
| 224 | 224 | var $numberFormats = array( |
| 225 | - 0x1 => "%1.0f", // "0" |
|
| 226 | - 0x2 => "%1.2f", // "0.00", |
|
| 227 | - 0x3 => "%1.0f", //"#,##0", |
|
| 228 | - 0x4 => "%1.2f", //"#,##0.00", |
|
| 229 | - 0x5 => "%1.0f", /*"$#,##0;($#,##0)",*/ |
|
| 230 | - 0x6 => '$%1.0f', /*"$#,##0;($#,##0)",*/ |
|
| 231 | - 0x7 => '$%1.2f', //"$#,##0.00;($#,##0.00)", |
|
| 232 | - 0x8 => '$%1.2f', //"$#,##0.00;($#,##0.00)", |
|
| 233 | - 0x9 => '%1.0f%%', // "0%" |
|
| 234 | - 0xa => '%1.2f%%', // "0.00%" |
|
| 235 | - 0xb => '%1.2f', // 0.00E00", |
|
| 236 | - 0x25 => '%1.0f', // "#,##0;(#,##0)", |
|
| 237 | - 0x26 => '%1.0f', //"#,##0;(#,##0)", |
|
| 238 | - 0x27 => '%1.2f', //"#,##0.00;(#,##0.00)", |
|
| 239 | - 0x28 => '%1.2f', //"#,##0.00;(#,##0.00)", |
|
| 240 | - 0x29 => '%1.0f', //"#,##0;(#,##0)", |
|
| 241 | - 0x2a => '$%1.0f', //"$#,##0;($#,##0)", |
|
| 242 | - 0x2b => '%1.2f', //"#,##0.00;(#,##0.00)", |
|
| 243 | - 0x2c => '$%1.2f', //"$#,##0.00;($#,##0.00)", |
|
| 244 | - 0x30 => '%1.0f'); //"##0.0E0"; |
|
| 225 | + 0x1 => "%1.0f", // "0" |
|
| 226 | + 0x2 => "%1.2f", // "0.00", |
|
| 227 | + 0x3 => "%1.0f", //"#,##0", |
|
| 228 | + 0x4 => "%1.2f", //"#,##0.00", |
|
| 229 | + 0x5 => "%1.0f", /*"$#,##0;($#,##0)",*/ |
|
| 230 | + 0x6 => '$%1.0f', /*"$#,##0;($#,##0)",*/ |
|
| 231 | + 0x7 => '$%1.2f', //"$#,##0.00;($#,##0.00)", |
|
| 232 | + 0x8 => '$%1.2f', //"$#,##0.00;($#,##0.00)", |
|
| 233 | + 0x9 => '%1.0f%%', // "0%" |
|
| 234 | + 0xa => '%1.2f%%', // "0.00%" |
|
| 235 | + 0xb => '%1.2f', // 0.00E00", |
|
| 236 | + 0x25 => '%1.0f', // "#,##0;(#,##0)", |
|
| 237 | + 0x26 => '%1.0f', //"#,##0;(#,##0)", |
|
| 238 | + 0x27 => '%1.2f', //"#,##0.00;(#,##0.00)", |
|
| 239 | + 0x28 => '%1.2f', //"#,##0.00;(#,##0.00)", |
|
| 240 | + 0x29 => '%1.0f', //"#,##0;(#,##0)", |
|
| 241 | + 0x2a => '$%1.0f', //"$#,##0;($#,##0)", |
|
| 242 | + 0x2b => '%1.2f', //"#,##0.00;(#,##0.00)", |
|
| 243 | + 0x2c => '$%1.2f', //"$#,##0.00;($#,##0.00)", |
|
| 244 | + 0x30 => '%1.0f'); //"##0.0E0"; |
|
| 245 | 245 | |
| 246 | 246 | // }}} |
| 247 | 247 | // {{{ Spreadsheet_Excel_Reader() |
@@ -290,8 +290,7 @@ discard block |
||
| 290 | 290 | $this->_encoderFunction = function_exists('iconv') ? 'iconv' : ''; |
| 291 | 291 | } elseif ($encoder == 'mb') { |
| 292 | 292 | $this->_encoderFunction = function_exists('mb_convert_encoding') ? |
| 293 | - 'mb_convert_encoding' : |
|
| 294 | - ''; |
|
| 293 | + 'mb_convert_encoding' : ''; |
|
| 295 | 294 | } |
| 296 | 295 | } |
| 297 | 296 | |
@@ -376,9 +375,9 @@ discard block |
||
| 376 | 375 | $res = $this->_ole->read($sFileName); |
| 377 | 376 | |
| 378 | 377 | // oops, something goes wrong (Darko Miljanovic) |
| 379 | - if($res === false) { |
|
| 378 | + if ($res === false) { |
|
| 380 | 379 | // check error code |
| 381 | - if($this->_ole->error == 1) { |
|
| 380 | + if ($this->_ole->error == 1) { |
|
| 382 | 381 | // bad file |
| 383 | 382 | //die('The filename ' . $sFileName . ' is not readable'); |
| 384 | 383 | Display::display_header(''); |
@@ -437,11 +436,11 @@ discard block |
||
| 437 | 436 | { |
| 438 | 437 | $pos = 0; |
| 439 | 438 | |
| 440 | - $code = ord($this->data[$pos]) | ord($this->data[$pos+1])<<8; |
|
| 441 | - $length = ord($this->data[$pos+2]) | ord($this->data[$pos+3])<<8; |
|
| 439 | + $code = ord($this->data[$pos]) | ord($this->data[$pos + 1]) << 8; |
|
| 440 | + $length = ord($this->data[$pos + 2]) | ord($this->data[$pos + 3]) << 8; |
|
| 442 | 441 | |
| 443 | - $version = ord($this->data[$pos + 4]) | ord($this->data[$pos + 5])<<8; |
|
| 444 | - $substreamType = ord($this->data[$pos + 6]) | ord($this->data[$pos + 7])<<8; |
|
| 442 | + $version = ord($this->data[$pos + 4]) | ord($this->data[$pos + 5]) << 8; |
|
| 443 | + $substreamType = ord($this->data[$pos + 6]) | ord($this->data[$pos + 7]) << 8; |
|
| 445 | 444 | //echo "Start parse code=".base_convert($code,10,16)." version=".base_convert($version,10,16)." substreamType=".base_convert($substreamType,10,16).""."\n"; |
| 446 | 445 | |
| 447 | 446 | if (($version != SPREADSHEET_EXCEL_READER_BIFF8) && |
@@ -449,15 +448,15 @@ discard block |
||
| 449 | 448 | return false; |
| 450 | 449 | } |
| 451 | 450 | |
| 452 | - if ($substreamType != SPREADSHEET_EXCEL_READER_WORKBOOKGLOBALS){ |
|
| 451 | + if ($substreamType != SPREADSHEET_EXCEL_READER_WORKBOOKGLOBALS) { |
|
| 453 | 452 | return false; |
| 454 | 453 | } |
| 455 | 454 | |
| 456 | 455 | //print_r($rec); |
| 457 | 456 | $pos += $length + 4; |
| 458 | 457 | |
| 459 | - $code = ord($this->data[$pos]) | ord($this->data[$pos+1])<<8; |
|
| 460 | - $length = ord($this->data[$pos+2]) | ord($this->data[$pos+3])<<8; |
|
| 458 | + $code = ord($this->data[$pos]) | ord($this->data[$pos + 1]) << 8; |
|
| 459 | + $length = ord($this->data[$pos + 2]) | ord($this->data[$pos + 3]) << 8; |
|
| 461 | 460 | |
| 462 | 461 | while ($code != SPREADSHEET_EXCEL_READER_TYPE_EOF) { |
| 463 | 462 | switch ($code) { |
@@ -465,33 +464,33 @@ discard block |
||
| 465 | 464 | //echo "Type_SST\n"; |
| 466 | 465 | $spos = $pos + 4; |
| 467 | 466 | $limitpos = $spos + $length; |
| 468 | - $uniqueStrings = $this->_GetInt4d($this->data, $spos+4); |
|
| 467 | + $uniqueStrings = $this->_GetInt4d($this->data, $spos + 4); |
|
| 469 | 468 | $spos += 8; |
| 470 | 469 | for ($i = 0; $i < $uniqueStrings; $i++) { |
| 471 | 470 | // Read in the number of characters |
| 472 | 471 | if ($spos == $limitpos) { |
| 473 | - $opcode = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8; |
|
| 474 | - $conlength = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8; |
|
| 472 | + $opcode = ord($this->data[$spos]) | ord($this->data[$spos + 1]) << 8; |
|
| 473 | + $conlength = ord($this->data[$spos + 2]) | ord($this->data[$spos + 3]) << 8; |
|
| 475 | 474 | if ($opcode != 0x3c) { |
| 476 | 475 | return -1; |
| 477 | 476 | } |
| 478 | 477 | $spos += 4; |
| 479 | 478 | $limitpos = $spos + $conlength; |
| 480 | 479 | } |
| 481 | - $numChars = ord($this->data[$spos]) | (ord($this->data[$spos+1]) << 8); |
|
| 480 | + $numChars = ord($this->data[$spos]) | (ord($this->data[$spos + 1]) << 8); |
|
| 482 | 481 | //echo "i = $i pos = $pos numChars = $numChars "; |
| 483 | 482 | $spos += 2; |
| 484 | 483 | $optionFlags = ord($this->data[$spos]); |
| 485 | 484 | $spos++; |
| 486 | - $asciiEncoding = (($optionFlags & 0x01) == 0) ; |
|
| 487 | - $extendedString = ( ($optionFlags & 0x04) != 0); |
|
| 485 | + $asciiEncoding = (($optionFlags & 0x01) == 0); |
|
| 486 | + $extendedString = (($optionFlags & 0x04) != 0); |
|
| 488 | 487 | |
| 489 | 488 | // See if string contains formatting information |
| 490 | - $richString = ( ($optionFlags & 0x08) != 0); |
|
| 489 | + $richString = (($optionFlags & 0x08) != 0); |
|
| 491 | 490 | |
| 492 | 491 | if ($richString) { |
| 493 | 492 | // Read in the crun |
| 494 | - $formattingRuns = ord($this->data[$spos]) | (ord($this->data[$spos+1]) << 8); |
|
| 493 | + $formattingRuns = ord($this->data[$spos]) | (ord($this->data[$spos + 1]) << 8); |
|
| 495 | 494 | $spos += 2; |
| 496 | 495 | } |
| 497 | 496 | |
@@ -501,20 +500,20 @@ discard block |
||
| 501 | 500 | $spos += 4; |
| 502 | 501 | } |
| 503 | 502 | |
| 504 | - $len = ($asciiEncoding)? $numChars : $numChars*2; |
|
| 503 | + $len = ($asciiEncoding) ? $numChars : $numChars * 2; |
|
| 505 | 504 | if ($spos + $len < $limitpos) { |
| 506 | 505 | $retstr = substr($this->data, $spos, $len); |
| 507 | 506 | $spos += $len; |
| 508 | - }else{ |
|
| 507 | + } else { |
|
| 509 | 508 | // found countinue |
| 510 | 509 | $retstr = substr($this->data, $spos, $limitpos - $spos); |
| 511 | 510 | $bytesRead = $limitpos - $spos; |
| 512 | 511 | $charsLeft = $numChars - (($asciiEncoding) ? $bytesRead : ($bytesRead / 2)); |
| 513 | 512 | $spos = $limitpos; |
| 514 | 513 | |
| 515 | - while ($charsLeft > 0){ |
|
| 516 | - $opcode = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8; |
|
| 517 | - $conlength = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8; |
|
| 514 | + while ($charsLeft > 0) { |
|
| 515 | + $opcode = ord($this->data[$spos]) | ord($this->data[$spos + 1]) << 8; |
|
| 516 | + $conlength = ord($this->data[$spos + 2]) | ord($this->data[$spos + 3]) << 8; |
|
| 518 | 517 | if ($opcode != 0x3c) { |
| 519 | 518 | return -1; |
| 520 | 519 | } |
@@ -527,10 +526,10 @@ discard block |
||
| 527 | 526 | $retstr .= substr($this->data, $spos, $len); |
| 528 | 527 | $charsLeft -= $len; |
| 529 | 528 | $asciiEncoding = true; |
| 530 | - }elseif (!$asciiEncoding && ($option != 0)){ |
|
| 529 | + }elseif (!$asciiEncoding && ($option != 0)) { |
|
| 531 | 530 | $len = min($charsLeft * 2, $limitpos - $spos); // min($charsLeft, $conlength); |
| 532 | 531 | $retstr .= substr($this->data, $spos, $len); |
| 533 | - $charsLeft -= $len/2; |
|
| 532 | + $charsLeft -= $len / 2; |
|
| 534 | 533 | $asciiEncoding = false; |
| 535 | 534 | }elseif (!$asciiEncoding && ($option == 0)) { |
| 536 | 535 | // Bummer - the string starts off as Unicode, but after the |
@@ -541,7 +540,7 @@ discard block |
||
| 541 | 540 | } |
| 542 | 541 | $charsLeft -= $len; |
| 543 | 542 | $asciiEncoding = false; |
| 544 | - }else{ |
|
| 543 | + } else { |
|
| 545 | 544 | $newstr = ''; |
| 546 | 545 | for ($j = 0; $j < strlen($retstr); $j++) { |
| 547 | 546 | $newstr = $retstr[$j].chr(0); |
@@ -549,7 +548,7 @@ discard block |
||
| 549 | 548 | $retstr = $newstr; |
| 550 | 549 | $len = min($charsLeft * 2, $limitpos - $spos); // min($charsLeft, $conlength); |
| 551 | 550 | $retstr .= substr($this->data, $spos, $len); |
| 552 | - $charsLeft -= $len/2; |
|
| 551 | + $charsLeft -= $len / 2; |
|
| 553 | 552 | $asciiEncoding = false; |
| 554 | 553 | //echo "Izavrat\n"; |
| 555 | 554 | } |
@@ -561,7 +560,7 @@ discard block |
||
| 561 | 560 | //$retstr = ($asciiEncoding) ? $retstr : $this->_encodeUTF16($retstr); |
| 562 | 561 | $retstr = ($asciiEncoding) ? $this->_encodeUTF16($retstr, true) : $this->_encodeUTF16($retstr); |
| 563 | 562 | // echo "Str $i = $retstr\n"; |
| 564 | - if ($richString){ |
|
| 563 | + if ($richString) { |
|
| 565 | 564 | $spos += 4 * $formattingRuns; |
| 566 | 565 | } |
| 567 | 566 | |
@@ -572,7 +571,7 @@ discard block |
||
| 572 | 571 | //if ($retstr == 'Derby'){ |
| 573 | 572 | // echo "bb\n"; |
| 574 | 573 | //} |
| 575 | - $this->sst[]=$retstr; |
|
| 574 | + $this->sst[] = $retstr; |
|
| 576 | 575 | } |
| 577 | 576 | /*$continueRecords = array(); |
| 578 | 577 | while ($this->getNextCode() == Type_CONTINUE) { |
@@ -592,18 +591,18 @@ discard block |
||
| 592 | 591 | //echo "Type_NAME\n"; |
| 593 | 592 | break; |
| 594 | 593 | case SPREADSHEET_EXCEL_READER_TYPE_FORMAT: |
| 595 | - $indexCode = ord($this->data[$pos+4]) | ord($this->data[$pos+5]) << 8; |
|
| 594 | + $indexCode = ord($this->data[$pos + 4]) | ord($this->data[$pos + 5]) << 8; |
|
| 596 | 595 | |
| 597 | 596 | if ($version == SPREADSHEET_EXCEL_READER_BIFF8) { |
| 598 | - $numchars = ord($this->data[$pos+6]) | ord($this->data[$pos+7]) << 8; |
|
| 599 | - if (ord($this->data[$pos+8]) == 0){ |
|
| 600 | - $formatString = substr($this->data, $pos+9, $numchars); |
|
| 597 | + $numchars = ord($this->data[$pos + 6]) | ord($this->data[$pos + 7]) << 8; |
|
| 598 | + if (ord($this->data[$pos + 8]) == 0) { |
|
| 599 | + $formatString = substr($this->data, $pos + 9, $numchars); |
|
| 601 | 600 | } else { |
| 602 | - $formatString = substr($this->data, $pos+9, $numchars*2); |
|
| 601 | + $formatString = substr($this->data, $pos + 9, $numchars * 2); |
|
| 603 | 602 | } |
| 604 | 603 | } else { |
| 605 | - $numchars = ord($this->data[$pos+6]); |
|
| 606 | - $formatString = substr($this->data, $pos+7, $numchars*2); |
|
| 604 | + $numchars = ord($this->data[$pos + 6]); |
|
| 605 | + $formatString = substr($this->data, $pos + 7, $numchars * 2); |
|
| 607 | 606 | } |
| 608 | 607 | |
| 609 | 608 | $this->formatRecords[$indexCode] = $formatString; |
@@ -611,7 +610,7 @@ discard block |
||
| 611 | 610 | break; |
| 612 | 611 | case SPREADSHEET_EXCEL_READER_TYPE_XF: |
| 613 | 612 | //global $dateFormats, $numberFormats; |
| 614 | - $indexCode = ord($this->data[$pos+6]) | ord($this->data[$pos+7]) << 8; |
|
| 613 | + $indexCode = ord($this->data[$pos + 6]) | ord($this->data[$pos + 7]) << 8; |
|
| 615 | 614 | //echo "\nType.XF ".count($this->formatRecords['xfrecords'])." $indexCode "; |
| 616 | 615 | if (array_key_exists($indexCode, $this->dateFormats)) { |
| 617 | 616 | //echo "isdate ".$dateFormats[$indexCode]; |
@@ -625,9 +624,9 @@ discard block |
||
| 625 | 624 | 'type' => 'number', |
| 626 | 625 | 'format' => $this->numberFormats[$indexCode] |
| 627 | 626 | ); |
| 628 | - }else{ |
|
| 627 | + } else { |
|
| 629 | 628 | $isdate = FALSE; |
| 630 | - if ($indexCode > 0){ |
|
| 629 | + if ($indexCode > 0) { |
|
| 631 | 630 | if (isset($this->formatRecords[$indexCode])) |
| 632 | 631 | $formatstr = $this->formatRecords[$indexCode]; |
| 633 | 632 | //echo '.other.'; |
@@ -641,12 +640,12 @@ discard block |
||
| 641 | 640 | } |
| 642 | 641 | } |
| 643 | 642 | |
| 644 | - if ($isdate){ |
|
| 643 | + if ($isdate) { |
|
| 645 | 644 | $this->formatRecords['xfrecords'][] = array( |
| 646 | 645 | 'type' => 'date', |
| 647 | 646 | 'format' => $formatstr, |
| 648 | 647 | ); |
| 649 | - }else{ |
|
| 648 | + } else { |
|
| 650 | 649 | $this->formatRecords['xfrecords'][] = array( |
| 651 | 650 | 'type' => 'other', |
| 652 | 651 | 'format' => '', |
@@ -658,24 +657,24 @@ discard block |
||
| 658 | 657 | break; |
| 659 | 658 | case SPREADSHEET_EXCEL_READER_TYPE_NINETEENFOUR: |
| 660 | 659 | //echo "Type.NINETEENFOUR\n"; |
| 661 | - $this->nineteenFour = (ord($this->data[$pos+4]) == 1); |
|
| 660 | + $this->nineteenFour = (ord($this->data[$pos + 4]) == 1); |
|
| 662 | 661 | break; |
| 663 | 662 | case SPREADSHEET_EXCEL_READER_TYPE_BOUNDSHEET: |
| 664 | 663 | //echo "Type.BOUNDSHEET\n"; |
| 665 | - $rec_offset = $this->_GetInt4d($this->data, $pos+4); |
|
| 666 | - $rec_typeFlag = ord($this->data[$pos+8]); |
|
| 667 | - $rec_visibilityFlag = ord($this->data[$pos+9]); |
|
| 668 | - $rec_length = ord($this->data[$pos+10]); |
|
| 669 | - |
|
| 670 | - if ($version == SPREADSHEET_EXCEL_READER_BIFF8){ |
|
| 671 | - $chartype = ord($this->data[$pos+11]); |
|
| 672 | - if ($chartype == 0){ |
|
| 673 | - $rec_name = substr($this->data, $pos+12, $rec_length); |
|
| 664 | + $rec_offset = $this->_GetInt4d($this->data, $pos + 4); |
|
| 665 | + $rec_typeFlag = ord($this->data[$pos + 8]); |
|
| 666 | + $rec_visibilityFlag = ord($this->data[$pos + 9]); |
|
| 667 | + $rec_length = ord($this->data[$pos + 10]); |
|
| 668 | + |
|
| 669 | + if ($version == SPREADSHEET_EXCEL_READER_BIFF8) { |
|
| 670 | + $chartype = ord($this->data[$pos + 11]); |
|
| 671 | + if ($chartype == 0) { |
|
| 672 | + $rec_name = substr($this->data, $pos + 12, $rec_length); |
|
| 674 | 673 | } else { |
| 675 | - $rec_name = $this->_encodeUTF16(substr($this->data, $pos+12, $rec_length*2)); |
|
| 674 | + $rec_name = $this->_encodeUTF16(substr($this->data, $pos + 12, $rec_length * 2)); |
|
| 676 | 675 | } |
| 677 | - }elseif ($version == SPREADSHEET_EXCEL_READER_BIFF7){ |
|
| 678 | - $rec_name = substr($this->data, $pos+11, $rec_length); |
|
| 676 | + }elseif ($version == SPREADSHEET_EXCEL_READER_BIFF7) { |
|
| 677 | + $rec_name = substr($this->data, $pos + 11, $rec_length); |
|
| 679 | 678 | } |
| 680 | 679 | $this->boundsheets[] = array('name'=>$rec_name, |
| 681 | 680 | 'offset'=>$rec_offset); |
@@ -686,14 +685,14 @@ discard block |
||
| 686 | 685 | |
| 687 | 686 | //echo "Code = ".base_convert($r['code'],10,16)."\n"; |
| 688 | 687 | $pos += $length + 4; |
| 689 | - $code = ord($this->data[$pos]) | ord($this->data[$pos+1])<<8; |
|
| 690 | - $length = ord($this->data[$pos+2]) | ord($this->data[$pos+3])<<8; |
|
| 688 | + $code = ord($this->data[$pos]) | ord($this->data[$pos + 1]) << 8; |
|
| 689 | + $length = ord($this->data[$pos + 2]) | ord($this->data[$pos + 3]) << 8; |
|
| 691 | 690 | |
| 692 | 691 | //$r = &$this->nextRecord(); |
| 693 | 692 | //echo "1 Code = ".base_convert($r['code'],10,16)."\n"; |
| 694 | 693 | } |
| 695 | 694 | |
| 696 | - foreach ($this->boundsheets as $key=>$val){ |
|
| 695 | + foreach ($this->boundsheets as $key=>$val) { |
|
| 697 | 696 | $this->sn = $key; |
| 698 | 697 | $this->_parsesheet($val['offset']); |
| 699 | 698 | } |
@@ -712,30 +711,30 @@ discard block |
||
| 712 | 711 | { |
| 713 | 712 | $cont = true; |
| 714 | 713 | // read BOF |
| 715 | - $code = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8; |
|
| 716 | - $length = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8; |
|
| 714 | + $code = ord($this->data[$spos]) | ord($this->data[$spos + 1]) << 8; |
|
| 715 | + $length = ord($this->data[$spos + 2]) | ord($this->data[$spos + 3]) << 8; |
|
| 717 | 716 | |
| 718 | - $version = ord($this->data[$spos + 4]) | ord($this->data[$spos + 5])<<8; |
|
| 719 | - $substreamType = ord($this->data[$spos + 6]) | ord($this->data[$spos + 7])<<8; |
|
| 717 | + $version = ord($this->data[$spos + 4]) | ord($this->data[$spos + 5]) << 8; |
|
| 718 | + $substreamType = ord($this->data[$spos + 6]) | ord($this->data[$spos + 7]) << 8; |
|
| 720 | 719 | |
| 721 | 720 | if (($version != SPREADSHEET_EXCEL_READER_BIFF8) && ($version != SPREADSHEET_EXCEL_READER_BIFF7)) { |
| 722 | 721 | return -1; |
| 723 | 722 | } |
| 724 | 723 | |
| 725 | - if ($substreamType != SPREADSHEET_EXCEL_READER_WORKSHEET){ |
|
| 724 | + if ($substreamType != SPREADSHEET_EXCEL_READER_WORKSHEET) { |
|
| 726 | 725 | return -2; |
| 727 | 726 | } |
| 728 | 727 | //echo "Start parse code=".base_convert($code,10,16)." version=".base_convert($version,10,16)." substreamType=".base_convert($substreamType,10,16).""."\n"; |
| 729 | 728 | $spos += $length + 4; |
| 730 | 729 | //var_dump($this->formatRecords); |
| 731 | 730 | //echo "code $code $length"; |
| 732 | - while($cont) { |
|
| 731 | + while ($cont) { |
|
| 733 | 732 | //echo "mem= ".memory_get_usage()."\n"; |
| 734 | 733 | // $r = &$this->file->nextRecord(); |
| 735 | 734 | $lowcode = ord($this->data[$spos]); |
| 736 | 735 | if ($lowcode == SPREADSHEET_EXCEL_READER_TYPE_EOF) break; |
| 737 | - $code = $lowcode | ord($this->data[$spos+1])<<8; |
|
| 738 | - $length = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8; |
|
| 736 | + $code = $lowcode | ord($this->data[$spos + 1]) << 8; |
|
| 737 | + $length = ord($this->data[$spos + 2]) | ord($this->data[$spos + 3]) << 8; |
|
| 739 | 738 | $spos += 4; |
| 740 | 739 | $this->sheets[$this->sn]['maxrow'] = $this->_rowoffset - 1; |
| 741 | 740 | $this->sheets[$this->sn]['maxcol'] = $this->_coloffset - 1; |
@@ -746,29 +745,29 @@ discard block |
||
| 746 | 745 | case SPREADSHEET_EXCEL_READER_TYPE_DIMENSION: |
| 747 | 746 | //echo 'Type_DIMENSION '; |
| 748 | 747 | if (!isset($this->numRows)) { |
| 749 | - if (($length == 10) || ($version == SPREADSHEET_EXCEL_READER_BIFF7)){ |
|
| 750 | - $this->sheets[$this->sn]['numRows'] = ord($this->data[$spos+2]) | ord($this->data[$spos+3]) << 8; |
|
| 751 | - $this->sheets[$this->sn]['numCols'] = ord($this->data[$spos+6]) | ord($this->data[$spos+7]) << 8; |
|
| 748 | + if (($length == 10) || ($version == SPREADSHEET_EXCEL_READER_BIFF7)) { |
|
| 749 | + $this->sheets[$this->sn]['numRows'] = ord($this->data[$spos + 2]) | ord($this->data[$spos + 3]) << 8; |
|
| 750 | + $this->sheets[$this->sn]['numCols'] = ord($this->data[$spos + 6]) | ord($this->data[$spos + 7]) << 8; |
|
| 752 | 751 | } else { |
| 753 | - $this->sheets[$this->sn]['numRows'] = ord($this->data[$spos+4]) | ord($this->data[$spos+5]) << 8; |
|
| 754 | - $this->sheets[$this->sn]['numCols'] = ord($this->data[$spos+10]) | ord($this->data[$spos+11]) << 8; |
|
| 752 | + $this->sheets[$this->sn]['numRows'] = ord($this->data[$spos + 4]) | ord($this->data[$spos + 5]) << 8; |
|
| 753 | + $this->sheets[$this->sn]['numCols'] = ord($this->data[$spos + 10]) | ord($this->data[$spos + 11]) << 8; |
|
| 755 | 754 | } |
| 756 | 755 | } |
| 757 | 756 | //echo 'numRows '.$this->numRows.' '.$this->numCols."\n"; |
| 758 | 757 | break; |
| 759 | 758 | case SPREADSHEET_EXCEL_READER_TYPE_MERGEDCELLS: |
| 760 | - $cellRanges = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8; |
|
| 759 | + $cellRanges = ord($this->data[$spos]) | ord($this->data[$spos + 1]) << 8; |
|
| 761 | 760 | for ($i = 0; $i < $cellRanges; $i++) { |
| 762 | - $fr = ord($this->data[$spos + 8*$i + 2]) | ord($this->data[$spos + 8*$i + 3])<<8; |
|
| 763 | - $lr = ord($this->data[$spos + 8*$i + 4]) | ord($this->data[$spos + 8*$i + 5])<<8; |
|
| 764 | - $fc = ord($this->data[$spos + 8*$i + 6]) | ord($this->data[$spos + 8*$i + 7])<<8; |
|
| 765 | - $lc = ord($this->data[$spos + 8*$i + 8]) | ord($this->data[$spos + 8*$i + 9])<<8; |
|
| 761 | + $fr = ord($this->data[$spos + 8 * $i + 2]) | ord($this->data[$spos + 8 * $i + 3]) << 8; |
|
| 762 | + $lr = ord($this->data[$spos + 8 * $i + 4]) | ord($this->data[$spos + 8 * $i + 5]) << 8; |
|
| 763 | + $fc = ord($this->data[$spos + 8 * $i + 6]) | ord($this->data[$spos + 8 * $i + 7]) << 8; |
|
| 764 | + $lc = ord($this->data[$spos + 8 * $i + 8]) | ord($this->data[$spos + 8 * $i + 9]) << 8; |
|
| 766 | 765 | //$this->sheets[$this->sn]['mergedCells'][] = array($fr + 1, $fc + 1, $lr + 1, $lc + 1); |
| 767 | 766 | if ($lr - $fr > 0) { |
| 768 | - $this->sheets[$this->sn]['cellsInfo'][$fr+1][$fc+1]['rowspan'] = $lr - $fr + 1; |
|
| 767 | + $this->sheets[$this->sn]['cellsInfo'][$fr + 1][$fc + 1]['rowspan'] = $lr - $fr + 1; |
|
| 769 | 768 | } |
| 770 | 769 | if ($lc - $fc > 0) { |
| 771 | - $this->sheets[$this->sn]['cellsInfo'][$fr+1][$fc+1]['colspan'] = $lc - $fc + 1; |
|
| 770 | + $this->sheets[$this->sn]['cellsInfo'][$fr + 1][$fc + 1]['colspan'] = $lc - $fc + 1; |
|
| 772 | 771 | } |
| 773 | 772 | } |
| 774 | 773 | //echo "Merged Cells $cellRanges $lr $fr $lc $fc\n"; |
@@ -776,16 +775,16 @@ discard block |
||
| 776 | 775 | case SPREADSHEET_EXCEL_READER_TYPE_RK: |
| 777 | 776 | case SPREADSHEET_EXCEL_READER_TYPE_RK2: |
| 778 | 777 | //echo 'SPREADSHEET_EXCEL_READER_TYPE_RK'."\n"; |
| 779 | - $row = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8; |
|
| 780 | - $column = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8; |
|
| 778 | + $row = ord($this->data[$spos]) | ord($this->data[$spos + 1]) << 8; |
|
| 779 | + $column = ord($this->data[$spos + 2]) | ord($this->data[$spos + 3]) << 8; |
|
| 781 | 780 | $rknum = $this->_GetInt4d($this->data, $spos + 6); |
| 782 | 781 | $numValue = $this->_GetIEEE754($rknum); |
| 783 | 782 | //echo $numValue." "; |
| 784 | 783 | if ($this->isDate($spos)) { |
| 785 | 784 | list($string, $raw) = $this->createDate($numValue); |
| 786 | - }else{ |
|
| 785 | + } else { |
|
| 787 | 786 | $raw = $numValue; |
| 788 | - if (isset($this->_columnsFormat[$column + 1])){ |
|
| 787 | + if (isset($this->_columnsFormat[$column + 1])) { |
|
| 789 | 788 | $this->curformat = $this->_columnsFormat[$column + 1]; |
| 790 | 789 | } |
| 791 | 790 | $string = sprintf($this->curformat, $numValue * $this->multiplier); |
@@ -795,27 +794,27 @@ discard block |
||
| 795 | 794 | //echo "Type_RK $row $column $string $raw {$this->curformat}\n"; |
| 796 | 795 | break; |
| 797 | 796 | case SPREADSHEET_EXCEL_READER_TYPE_LABELSST: |
| 798 | - $row = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8; |
|
| 799 | - $column = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8; |
|
| 800 | - $xfindex = ord($this->data[$spos+4]) | ord($this->data[$spos+5])<<8; |
|
| 801 | - $index = $this->_GetInt4d($this->data, $spos + 6); |
|
| 797 | + $row = ord($this->data[$spos]) | ord($this->data[$spos + 1]) << 8; |
|
| 798 | + $column = ord($this->data[$spos + 2]) | ord($this->data[$spos + 3]) << 8; |
|
| 799 | + $xfindex = ord($this->data[$spos + 4]) | ord($this->data[$spos + 5]) << 8; |
|
| 800 | + $index = $this->_GetInt4d($this->data, $spos + 6); |
|
| 802 | 801 | //var_dump($this->sst); |
| 803 | 802 | $this->addcell($row, $column, $this->sst[$index]); |
| 804 | 803 | //echo "LabelSST $row $column $string\n"; |
| 805 | 804 | break; |
| 806 | 805 | case SPREADSHEET_EXCEL_READER_TYPE_MULRK: |
| 807 | - $row = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8; |
|
| 808 | - $colFirst = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8; |
|
| 809 | - $colLast = ord($this->data[$spos + $length - 2]) | ord($this->data[$spos + $length - 1])<<8; |
|
| 806 | + $row = ord($this->data[$spos]) | ord($this->data[$spos + 1]) << 8; |
|
| 807 | + $colFirst = ord($this->data[$spos + 2]) | ord($this->data[$spos + 3]) << 8; |
|
| 808 | + $colLast = ord($this->data[$spos + $length - 2]) | ord($this->data[$spos + $length - 1]) << 8; |
|
| 810 | 809 | $columns = $colLast - $colFirst + 1; |
| 811 | - $tmppos = $spos+4; |
|
| 810 | + $tmppos = $spos + 4; |
|
| 812 | 811 | for ($i = 0; $i < $columns; $i++) { |
| 813 | 812 | $numValue = $this->_GetIEEE754($this->_GetInt4d($this->data, $tmppos + 2)); |
| 814 | - if ($this->isDate($tmppos-4)) { |
|
| 813 | + if ($this->isDate($tmppos - 4)) { |
|
| 815 | 814 | list($string, $raw) = $this->createDate($numValue); |
| 816 | - }else{ |
|
| 815 | + } else { |
|
| 817 | 816 | $raw = $numValue; |
| 818 | - if (isset($this->_columnsFormat[$colFirst + $i + 1])){ |
|
| 817 | + if (isset($this->_columnsFormat[$colFirst + $i + 1])) { |
|
| 819 | 818 | $this->curformat = $this->_columnsFormat[$colFirst + $i + 1]; |
| 820 | 819 | } |
| 821 | 820 | $string = sprintf($this->curformat, $numValue * $this->multiplier); |
@@ -831,15 +830,15 @@ discard block |
||
| 831 | 830 | |
| 832 | 831 | break; |
| 833 | 832 | case SPREADSHEET_EXCEL_READER_TYPE_NUMBER: |
| 834 | - $row = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8; |
|
| 835 | - $column = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8; |
|
| 833 | + $row = ord($this->data[$spos]) | ord($this->data[$spos + 1]) << 8; |
|
| 834 | + $column = ord($this->data[$spos + 2]) | ord($this->data[$spos + 3]) << 8; |
|
| 836 | 835 | $tmp = unpack("ddouble", substr($this->data, $spos + 6, 8)); // It machine machine dependent |
| 837 | 836 | if ($this->isDate($spos)) { |
| 838 | 837 | list($string, $raw) = $this->createDate($tmp['double']); |
| 839 | 838 | // $this->addcell(DateRecord($r, 1)); |
| 840 | - }else{ |
|
| 839 | + } else { |
|
| 841 | 840 | //$raw = $tmp['']; |
| 842 | - if (isset($this->_columnsFormat[$column + 1])){ |
|
| 841 | + if (isset($this->_columnsFormat[$column + 1])) { |
|
| 843 | 842 | $this->curformat = $this->_columnsFormat[$column + 1]; |
| 844 | 843 | } |
| 845 | 844 | $raw = $this->createNumber($spos); |
@@ -852,16 +851,16 @@ discard block |
||
| 852 | 851 | break; |
| 853 | 852 | case SPREADSHEET_EXCEL_READER_TYPE_FORMULA: |
| 854 | 853 | case SPREADSHEET_EXCEL_READER_TYPE_FORMULA2: |
| 855 | - $row = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8; |
|
| 856 | - $column = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8; |
|
| 857 | - if ((ord($this->data[$spos+6])==0) && (ord($this->data[$spos+12])==255) && (ord($this->data[$spos+13])==255)) { |
|
| 854 | + $row = ord($this->data[$spos]) | ord($this->data[$spos + 1]) << 8; |
|
| 855 | + $column = ord($this->data[$spos + 2]) | ord($this->data[$spos + 3]) << 8; |
|
| 856 | + if ((ord($this->data[$spos + 6]) == 0) && (ord($this->data[$spos + 12]) == 255) && (ord($this->data[$spos + 13]) == 255)) { |
|
| 858 | 857 | //String formula. Result follows in a STRING record |
| 859 | 858 | //echo "FORMULA $row $column Formula with a string<br>\n"; |
| 860 | - } elseif ((ord($this->data[$spos+6])==1) && (ord($this->data[$spos+12])==255) && (ord($this->data[$spos+13])==255)) { |
|
| 859 | + } elseif ((ord($this->data[$spos + 6]) == 1) && (ord($this->data[$spos + 12]) == 255) && (ord($this->data[$spos + 13]) == 255)) { |
|
| 861 | 860 | //Boolean formula. Result is in +2; 0=false,1=true |
| 862 | - } elseif ((ord($this->data[$spos+6])==2) && (ord($this->data[$spos+12])==255) && (ord($this->data[$spos+13])==255)) { |
|
| 861 | + } elseif ((ord($this->data[$spos + 6]) == 2) && (ord($this->data[$spos + 12]) == 255) && (ord($this->data[$spos + 13]) == 255)) { |
|
| 863 | 862 | //Error formula. Error code is in +2; |
| 864 | - } elseif ((ord($this->data[$spos+6])==3) && (ord($this->data[$spos+12])==255) && (ord($this->data[$spos+13])==255)) { |
|
| 863 | + } elseif ((ord($this->data[$spos + 6]) == 3) && (ord($this->data[$spos + 12]) == 255) && (ord($this->data[$spos + 13]) == 255)) { |
|
| 865 | 864 | //Formula result is a null string. |
| 866 | 865 | } else { |
| 867 | 866 | // result is a number, so first 14 bytes are just like a _NUMBER record |
@@ -869,9 +868,9 @@ discard block |
||
| 869 | 868 | if ($this->isDate($spos)) { |
| 870 | 869 | list($string, $raw) = $this->createDate($tmp['double']); |
| 871 | 870 | // $this->addcell(DateRecord($r, 1)); |
| 872 | - }else{ |
|
| 871 | + } else { |
|
| 873 | 872 | //$raw = $tmp['']; |
| 874 | - if (isset($this->_columnsFormat[$column + 1])){ |
|
| 873 | + if (isset($this->_columnsFormat[$column + 1])) { |
|
| 875 | 874 | $this->curformat = $this->_columnsFormat[$column + 1]; |
| 876 | 875 | } |
| 877 | 876 | $raw = $this->createNumber($spos); |
@@ -884,9 +883,9 @@ discard block |
||
| 884 | 883 | } |
| 885 | 884 | break; |
| 886 | 885 | case SPREADSHEET_EXCEL_READER_TYPE_BOOLERR: |
| 887 | - $row = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8; |
|
| 888 | - $column = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8; |
|
| 889 | - $string = ord($this->data[$spos+6]); |
|
| 886 | + $row = ord($this->data[$spos]) | ord($this->data[$spos + 1]) << 8; |
|
| 887 | + $column = ord($this->data[$spos + 2]) | ord($this->data[$spos + 3]) << 8; |
|
| 888 | + $string = ord($this->data[$spos + 6]); |
|
| 890 | 889 | $this->addcell($row, $column, $string); |
| 891 | 890 | //echo 'Type_BOOLERR '."\n"; |
| 892 | 891 | break; |
@@ -895,9 +894,9 @@ discard block |
||
| 895 | 894 | case SPREADSHEET_EXCEL_READER_TYPE_MULBLANK: |
| 896 | 895 | break; |
| 897 | 896 | case SPREADSHEET_EXCEL_READER_TYPE_LABEL: |
| 898 | - $row = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8; |
|
| 899 | - $column = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8; |
|
| 900 | - $this->addcell($row, $column, substr($this->data, $spos + 8, ord($this->data[$spos + 6]) | ord($this->data[$spos + 7])<<8)); |
|
| 897 | + $row = ord($this->data[$spos]) | ord($this->data[$spos + 1]) << 8; |
|
| 898 | + $column = ord($this->data[$spos + 2]) | ord($this->data[$spos + 3]) << 8; |
|
| 899 | + $this->addcell($row, $column, substr($this->data, $spos + 8, ord($this->data[$spos + 6]) | ord($this->data[$spos + 7]) << 8)); |
|
| 901 | 900 | |
| 902 | 901 | // $this->addcell(LabelRecord($r)); |
| 903 | 902 | break; |
@@ -929,7 +928,7 @@ discard block |
||
| 929 | 928 | function isDate($spos) |
| 930 | 929 | { |
| 931 | 930 | //$xfindex = GetInt2d(, 4); |
| 932 | - $xfindex = ord($this->data[$spos+4]) | ord($this->data[$spos+5]) << 8; |
|
| 931 | + $xfindex = ord($this->data[$spos + 4]) | ord($this->data[$spos + 5]) << 8; |
|
| 933 | 932 | //echo 'check is date '.$xfindex.' '.$this->formatRecords['xfrecords'][$xfindex]['type']."\n"; |
| 934 | 933 | //var_dump($this->formatRecords['xfrecords'][$xfindex]); |
| 935 | 934 | if ($this->formatRecords['xfrecords'][$xfindex]['type'] == 'date') { |
@@ -940,10 +939,10 @@ discard block |
||
| 940 | 939 | if ($this->formatRecords['xfrecords'][$xfindex]['type'] == 'number') { |
| 941 | 940 | $this->curformat = $this->formatRecords['xfrecords'][$xfindex]['format']; |
| 942 | 941 | $this->rectype = 'number'; |
| 943 | - if (($xfindex == 0x9) || ($xfindex == 0xa)){ |
|
| 942 | + if (($xfindex == 0x9) || ($xfindex == 0xa)) { |
|
| 944 | 943 | $this->multiplier = 100; |
| 945 | 944 | } |
| 946 | - }else{ |
|
| 945 | + } else { |
|
| 947 | 946 | $this->curformat = $this->_defaultFormat; |
| 948 | 947 | $this->rectype = 'unknown'; |
| 949 | 948 | } |
@@ -968,15 +967,15 @@ discard block |
||
| 968 | 967 | { |
| 969 | 968 | if ($numValue > 1) { |
| 970 | 969 | $utcDays = $numValue - ($this->nineteenFour ? SPREADSHEET_EXCEL_READER_UTCOFFSETDAYS1904 : SPREADSHEET_EXCEL_READER_UTCOFFSETDAYS); |
| 971 | - $utcValue = round(($utcDays+1) * SPREADSHEET_EXCEL_READER_MSINADAY); |
|
| 972 | - $string = date ($this->curformat, $utcValue); |
|
| 970 | + $utcValue = round(($utcDays + 1) * SPREADSHEET_EXCEL_READER_MSINADAY); |
|
| 971 | + $string = date($this->curformat, $utcValue); |
|
| 973 | 972 | $raw = $utcValue; |
| 974 | 973 | } else { |
| 975 | 974 | $raw = $numValue; |
| 976 | 975 | $hours = floor($numValue * 24); |
| 977 | 976 | $mins = floor($numValue * 24 * 60) - $hours * 60; |
| 978 | 977 | $secs = floor($numValue * SPREADSHEET_EXCEL_READER_MSINADAY) - $hours * 60 * 60 - $mins * 60; |
| 979 | - $string = date ($this->curformat, mktime($hours, $mins, $secs)); |
|
| 978 | + $string = date($this->curformat, mktime($hours, $mins, $secs)); |
|
| 980 | 979 | } |
| 981 | 980 | |
| 982 | 981 | return array($string, $raw); |
@@ -988,15 +987,15 @@ discard block |
||
| 988 | 987 | $rknumlow = $this->_GetInt4d($this->data, $spos + 6); |
| 989 | 988 | //for ($i=0; $i<8; $i++) { echo ord($this->data[$i+$spos+6]) . " "; } echo "<br>"; |
| 990 | 989 | $sign = ($rknumhigh & 0x80000000) >> 31; |
| 991 | - $exp = ($rknumhigh & 0x7ff00000) >> 20; |
|
| 990 | + $exp = ($rknumhigh & 0x7ff00000) >> 20; |
|
| 992 | 991 | $mantissa = (0x100000 | ($rknumhigh & 0x000fffff)); |
| 993 | 992 | $mantissalow1 = ($rknumlow & 0x80000000) >> 31; |
| 994 | 993 | $mantissalow2 = ($rknumlow & 0x7fffffff); |
| 995 | - $value = $mantissa / pow( 2 , (20- ($exp - 1023))); |
|
| 996 | - if ($mantissalow1 != 0) $value += 1 / pow (2 , (21 - ($exp - 1023))); |
|
| 997 | - $value += $mantissalow2 / pow (2 , (52 - ($exp - 1023))); |
|
| 994 | + $value = $mantissa / pow(2, (20 - ($exp - 1023))); |
|
| 995 | + if ($mantissalow1 != 0) $value += 1 / pow(2, (21 - ($exp - 1023))); |
|
| 996 | + $value += $mantissalow2 / pow(2, (52 - ($exp - 1023))); |
|
| 998 | 997 | //echo "Sign = $sign, Exp = $exp, mantissahighx = $mantissa, mantissalow1 = $mantissalow1, mantissalow2 = $mantissalow2<br>\n"; |
| 999 | - if ($sign) {$value = -1 * $value;} |
|
| 998 | + if ($sign) {$value = -1 * $value; } |
|
| 1000 | 999 | return $value; |
| 1001 | 1000 | } |
| 1002 | 1001 | |
@@ -1036,8 +1035,8 @@ discard block |
||
| 1036 | 1035 | $sign = ($rknum & 0x80000000) >> 31; |
| 1037 | 1036 | $exp = ($rknum & 0x7ff00000) >> 20; |
| 1038 | 1037 | $mantissa = (0x100000 | ($rknum & 0x000ffffc)); |
| 1039 | - $value = $mantissa / pow( 2 , (20- ($exp - 1023))); |
|
| 1040 | - if ($sign) {$value = -1 * $value;} |
|
| 1038 | + $value = $mantissa / pow(2, (20 - ($exp - 1023))); |
|
| 1039 | + if ($sign) {$value = -1 * $value; } |
|
| 1041 | 1040 | //end of changes by mmp |
| 1042 | 1041 | |
| 1043 | 1042 | } |
@@ -1058,7 +1057,7 @@ discard block |
||
| 1058 | 1057 | $string = api_convert_encoding($string, $this->_defaultEncoding, $from); |
| 1059 | 1058 | return $string; |
| 1060 | 1059 | } |
| 1061 | - $string = api_convert_encoding($string, $this->_defaultEncoding, 'UTF-16LE'); |
|
| 1060 | + $string = api_convert_encoding($string, $this->_defaultEncoding, 'UTF-16LE'); |
|
| 1062 | 1061 | return $string; |
| 1063 | 1062 | /* |
| 1064 | 1063 | * Default behaviour |
@@ -1076,10 +1075,10 @@ discard block |
||
| 1076 | 1075 | |
| 1077 | 1076 | function _GetInt4d($data, $pos) |
| 1078 | 1077 | { |
| 1079 | - $value = ord($data[$pos]) | (ord($data[$pos+1]) << 8) | (ord($data[$pos+2]) << 16) | (ord($data[$pos+3]) << 24); |
|
| 1080 | - if ($value>=4294967294) |
|
| 1078 | + $value = ord($data[$pos]) | (ord($data[$pos + 1]) << 8) | (ord($data[$pos + 2]) << 16) | (ord($data[$pos + 3]) << 24); |
|
| 1079 | + if ($value >= 4294967294) |
|
| 1081 | 1080 | { |
| 1082 | - $value=-2; |
|
| 1081 | + $value = -2; |
|
| 1083 | 1082 | } |
| 1084 | 1083 | return $value; |
| 1085 | 1084 | } |