亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? reader.php

?? php語言編寫
?? PHP
?? 第 1 頁 / 共 3 頁
字號:
                    $row = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8;
                    $column = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8;
                    $rknum = $this->_GetInt4d($this->data, $spos + 6);
                    $numValue = $this->_GetIEEE754($rknum);
                    //echo $numValue." ";
                    if ($this->isDate($spos)) {
                        list($string, $raw) = $this->createDate($numValue);
                    }else{
                        $raw = $numValue;
                        if (isset($this->_columnsFormat[$column + 1])){
                                $this->curformat = $this->_columnsFormat[$column + 1];
                        }
                        $string = sprintf($this->curformat, $numValue * $this->multiplier);
                        //$this->addcell(RKRecord($r));
                    }
                    $this->addcell($row, $column, $string, $raw);
                    //echo "Type_RK $row $column $string $raw {$this->curformat}\n";
                    break;
                case Spreadsheet_Excel_Reader_Type_LABELSST:
                        $row        = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8;
                        $column     = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8;
                        $xfindex    = ord($this->data[$spos+4]) | ord($this->data[$spos+5])<<8;
                        $index  = $this->_GetInt4d($this->data, $spos + 6);
			//var_dump($this->sst);
                        $this->addcell($row, $column, $this->sst[$index]);
                        //echo "LabelSST $row $column $string\n";
                    break;
                case Spreadsheet_Excel_Reader_Type_MULRK:
                    $row        = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8;
                    $colFirst   = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8;
                    $colLast    = ord($this->data[$spos + $length - 2]) | ord($this->data[$spos + $length - 1])<<8;
                    $columns    = $colLast - $colFirst + 1;
                    $tmppos = $spos+4;
                    for ($i = 0; $i < $columns; $i++) {
                        $numValue = $this->_GetIEEE754($this->_GetInt4d($this->data, $tmppos + 2));
                        if ($this->isDate($tmppos-4)) {
                            list($string, $raw) = $this->createDate($numValue);
                        }else{
                            $raw = $numValue;
                            if (isset($this->_columnsFormat[$colFirst + $i + 1])){
                                        $this->curformat = $this->_columnsFormat[$colFirst + $i + 1];
                                }
                            $string = sprintf($this->curformat, $numValue * $this->multiplier);
                        }
                      //$rec['rknumbers'][$i]['xfindex'] = ord($rec['data'][$pos]) | ord($rec['data'][$pos+1]) << 8;
                      $tmppos += 6;
                      $this->addcell($row, $colFirst + $i, $string, $raw);
                      //echo "MULRK $row ".($colFirst + $i)." $string\n";
                    }
                     //MulRKRecord($r);
                    // Get the individual cell records from the multiple record
                     //$num = ;

                    break;
                case Spreadsheet_Excel_Reader_Type_NUMBER:
                    $row    = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8;
                    $column = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8;
                    $tmp = unpack("ddouble", substr($this->data, $spos + 6, 8)); // It machine machine dependent
                    if ($this->isDate($spos)) {
                        list($string, $raw) = $this->createDate($tmp['double']);
                     //   $this->addcell(DateRecord($r, 1));
                    }else{
                        //$raw = $tmp[''];
                        if (isset($this->_columnsFormat[$column + 1])){
                                $this->curformat = $this->_columnsFormat[$column + 1];
                        }
                        $raw = $this->createNumber($spos);
                        $string = sprintf($this->curformat, $raw * $this->multiplier);

                     //   $this->addcell(NumberRecord($r));
                    }
                    $this->addcell($row, $column, $string, $raw);
                    //echo "Number $row $column $string\n";
                    break;
                case Spreadsheet_Excel_Reader_Type_FORMULA:
                case Spreadsheet_Excel_Reader_Type_FORMULA2:
                    $row    = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8;
                    $column = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8;
					if ((ord($this->data[$spos+6])==0) && (ord($this->data[$spos+12])==255) && (ord($this->data[$spos+13])==255)) {
						//String formula. Result follows in a STRING record
					    //echo "FORMULA $row $column Formula with a string<br>\n";
					} elseif ((ord($this->data[$spos+6])==1) && (ord($this->data[$spos+12])==255) && (ord($this->data[$spos+13])==255)) {
						//Boolean formula. Result is in +2; 0=false,1=true
					} elseif ((ord($this->data[$spos+6])==2) && (ord($this->data[$spos+12])==255) && (ord($this->data[$spos+13])==255)) {
						//Error formula. Error code is in +2;
					} elseif ((ord($this->data[$spos+6])==3) && (ord($this->data[$spos+12])==255) && (ord($this->data[$spos+13])==255)) {
						//Formula result is a null string.
					} else {
						// result is a number, so first 14 bytes are just like a _NUMBER record
	                    $tmp = unpack("ddouble", substr($this->data, $spos + 6, 8)); // It machine machine dependent
	                    if ($this->isDate($spos)) {
	                        list($string, $raw) = $this->createDate($tmp['double']);
	                     //   $this->addcell(DateRecord($r, 1));
	                    }else{
	                        //$raw = $tmp[''];
	                        if (isset($this->_columnsFormat[$column + 1])){
	                                $this->curformat = $this->_columnsFormat[$column + 1];
	                        }
	                        $raw = $this->createNumber($spos);
							$string = sprintf($this->curformat, $raw * $this->multiplier);
	
	                     //   $this->addcell(NumberRecord($r));
	                    }
	                    $this->addcell($row, $column, $string, $raw);
	                    //echo "Number $row $column $string\n";
					}
					break;                    
                case Spreadsheet_Excel_Reader_Type_BOOLERR:
                    $row    = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8;
                    $column = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8;
                    $string = ord($this->data[$spos+6]);
                    $this->addcell($row, $column, $string);
                    //echo 'Type_BOOLERR '."\n";
                    break;
                case Spreadsheet_Excel_Reader_Type_ROW:
                case Spreadsheet_Excel_Reader_Type_DBCELL:
                case Spreadsheet_Excel_Reader_Type_MULBLANK:
                    break;
                case Spreadsheet_Excel_Reader_Type_LABEL:
                    $row    = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8;
                    $column = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8;
                    $this->addcell($row, $column, substr($this->data, $spos + 8, ord($this->data[$spos + 6]) | ord($this->data[$spos + 7])<<8));

                   // $this->addcell(LabelRecord($r));
                    break;

                case Spreadsheet_Excel_Reader_Type_EOF:
                    $cont = false;
                    break;
                default:
                    //echo ' unknown :'.base_convert($r['code'],10,16)."\n";
                    break;

            }
            $spos += $length;
        }

        if (!isset($this->sheets[$this->sn]['numRows']))
        	 $this->sheets[$this->sn]['numRows'] = $this->sheets[$this->sn]['maxrow'];
        if (!isset($this->sheets[$this->sn]['numCols']))
        	 $this->sheets[$this->sn]['numCols'] = $this->sheets[$this->sn]['maxcol'];

    }

    function isDate($spos){
        //$xfindex = GetInt2d(, 4);
        $xfindex = ord($this->data[$spos+4]) | ord($this->data[$spos+5]) << 8;
        //echo 'check is date '.$xfindex.' '.$this->formatRecords['xfrecords'][$xfindex]['type']."\n";
        //var_dump($this->formatRecords['xfrecords'][$xfindex]);
        if ($this->formatRecords['xfrecords'][$xfindex]['type'] == 'date') {
            $this->curformat = $this->formatRecords['xfrecords'][$xfindex]['format'];
            $this->rectype = 'date';
            return true;
        } else {
            if ($this->formatRecords['xfrecords'][$xfindex]['type'] == 'number') {
                $this->curformat = $this->formatRecords['xfrecords'][$xfindex]['format'];
                $this->rectype = 'number';
                if (($xfindex == 0x9) || ($xfindex == 0xa)){
                    $this->multiplier = 100;
                }
            }else{
                $this->curformat = $this->_defaultFormat;
                $this->rectype = 'unknown';
            }
            return false;
        }
    }

    function createDate($numValue){
        if ($numValue > 1){
            $utcDays = $numValue - ($this->nineteenFour ? Spreadsheet_Excel_Reader_utcOffsetDays1904 : Spreadsheet_Excel_Reader_utcOffsetDays);
            $utcValue = round($utcDays * Spreadsheet_Excel_Reader_msInADay);
            $string = date ($this->curformat, $utcValue);
            $raw = $utcValue;
        }else{
            $raw = $numValue;
            $hours = floor($numValue * 24);
            $mins = floor($numValue * 24 * 60) - $hours * 60;
            $secs = floor($numValue * Spreadsheet_Excel_Reader_msInADay) - $hours * 60 * 60 - $mins * 60;
            $string = date ($this->curformat, mktime($hours, $mins, $secs));
        }
        return array($string, $raw);
    }

    function createNumber($spos){
		$rknumhigh = $this->_GetInt4d($this->data, $spos + 10);
		$rknumlow = $this->_GetInt4d($this->data, $spos + 6);
		//for ($i=0; $i<8; $i++) { echo ord($this->data[$i+$spos+6]) . " "; } echo "<br>";
		$sign = ($rknumhigh & 0x80000000) >> 31;
		$exp =  ($rknumhigh & 0x7ff00000) >> 20;
		$mantissa = (0x100000 | ($rknumhigh & 0x000fffff));
		$mantissalow1 = ($rknumlow & 0x80000000) >> 31;
		$mantissalow2 = ($rknumlow & 0x7fffffff);
		$value = $mantissa / pow( 2 , (20- ($exp - 1023)));
		if ($mantissalow1 != 0) $value += 1 / pow (2 , (21 - ($exp - 1023)));
		$value += $mantissalow2 / pow (2 , (52 - ($exp - 1023)));
		//echo "Sign = $sign, Exp = $exp, mantissahighx = $mantissa, mantissalow1 = $mantissalow1, mantissalow2 = $mantissalow2<br>\n";
		if ($sign) {$value = -1 * $value;}
		return  $value;
    }

    function addcell($row, $col, $string, $raw = ''){
        //echo "ADD cel $row-$col $string\n";
        $this->sheets[$this->sn]['maxrow'] = max($this->sheets[$this->sn]['maxrow'], $row + $this->_rowoffset);
        $this->sheets[$this->sn]['maxcol'] = max($this->sheets[$this->sn]['maxcol'], $col + $this->_coloffset);
        $this->sheets[$this->sn]['cells'][$row + $this->_rowoffset][$col + $this->_coloffset] = $string;
        if ($raw)
            $this->sheets[$this->sn]['cellsInfo'][$row + $this->_rowoffset][$col + $this->_coloffset]['raw'] = $raw;
        if (isset($this->rectype))
            $this->sheets[$this->sn]['cellsInfo'][$row + $this->_rowoffset][$col + $this->_coloffset]['type'] = $this->rectype;

    }


    function _GetIEEE754($rknum){
        if (($rknum & 0x02) != 0) {
                $value = $rknum >> 2;
        } else {
//mmp
// first comment out the previously existing 7 lines of code here
//                $tmp = unpack("d", pack("VV", 0, ($rknum & 0xfffffffc)));
//                //$value = $tmp[''];
//                if (array_key_exists(1, $tmp)) {
//                    $value = $tmp[1];
//                } else {
//                    $value = $tmp[''];
//                }
// I got my info on IEEE754 encoding from 
// http://research.microsoft.com/~hollasch/cgindex/coding/ieeefloat.html
// The RK format calls for using only the most significant 30 bits of the
// 64 bit floating point value. The other 34 bits are assumed to be 0
// So, we use the upper 30 bits of $rknum as follows...
 		$sign = ($rknum & 0x80000000) >> 31;
		$exp = ($rknum & 0x7ff00000) >> 20;
		$mantissa = (0x100000 | ($rknum & 0x000ffffc));
		$value = $mantissa / pow( 2 , (20- ($exp - 1023)));
		if ($sign) {$value = -1 * $value;}
//end of changes by mmp		

        }

        if (($rknum & 0x01) != 0) {
            $value /= 100;
        }
        return $value;
    }

    function _encodeUTF16($string){
    	$result = $string;
        if ($this->_defaultEncoding){
        	switch ($this->_encoderFunction){
        		case 'iconv' : 	$result = iconv('UTF-16LE', $this->_defaultEncoding, $string);
        						break;
        		case 'mb_convert_encoding' : 	$result = mb_convert_encoding($string, $this->_defaultEncoding, 'UTF-16LE' );
        						break;
        	}
        }
        return $result;
    }

    function _GetInt4d($data, $pos) {
        return ord($data[$pos]) | (ord($data[$pos+1]) << 8) | (ord($data[$pos+2]) << 16) | (ord($data[$pos+3]) << 24);
    }


}


?>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品国产更新| 日韩午夜激情电影| 国产91精品久久久久久久网曝门| 天堂在线亚洲视频| 亚洲成a人v欧美综合天堂| 亚洲欧美日韩在线不卡| 亚洲日本乱码在线观看| 亚洲精品美腿丝袜| 一区二区激情小说| 午夜私人影院久久久久| 五月婷婷久久丁香| 精品一区二区三区日韩| 久久精工是国产品牌吗| 国产真实精品久久二三区| 国产麻豆成人传媒免费观看| 高清在线成人网| 色呦呦网站一区| 欧美精品自拍偷拍| 久久亚洲综合av| 亚洲欧洲美洲综合色网| 亚洲综合清纯丝袜自拍| 日韩国产成人精品| 成人中文字幕合集| 欧美在线观看一区二区| 日韩免费视频一区二区| 国产欧美久久久精品影院| 亚洲激情在线播放| 另类小说图片综合网| 丁香桃色午夜亚洲一区二区三区| 91蜜桃网址入口| 欧美精品久久一区| 中文字幕va一区二区三区| 久久综合精品国产一区二区三区 | 国产综合色产在线精品| 国内久久婷婷综合| 色婷婷久久一区二区三区麻豆| 69久久99精品久久久久婷婷 | 成人国产精品免费观看动漫| 欧美在线视频你懂得| 精品国产乱码久久久久久免费| 亚洲欧洲日韩一区二区三区| 日韩在线a电影| 成人黄色a**站在线观看| 欧美丰满美乳xxx高潮www| 欧美激情一区二区三区全黄| 亚洲高清三级视频| jiyouzz国产精品久久| 欧美一区二区三区性视频| 亚洲乱码国产乱码精品精可以看 | 欧美一区二区福利在线| 国产精品福利电影一区二区三区四区| 视频精品一区二区| 91久久精品一区二区三区| 国产丝袜在线精品| 另类综合日韩欧美亚洲| 欧美三级乱人伦电影| 中文字幕在线一区二区三区| 狠狠色丁香九九婷婷综合五月| 欧美日韩一区二区三区免费看| 中文字幕亚洲在| 国产精品一品视频| 精品99999| 美女任你摸久久| 91精品国产综合久久香蕉麻豆| 亚洲精品少妇30p| 9i在线看片成人免费| 欧美国产成人在线| 国产suv一区二区三区88区| 久久日一线二线三线suv| 日本v片在线高清不卡在线观看| 欧美日韩1234| 视频一区欧美日韩| 久久亚洲一区二区三区四区| 久久综合中文字幕| 久久久三级国产网站| 另类小说色综合网站| 欧美不卡在线视频| 91精品久久久久久久99蜜桃| 青青草国产精品亚洲专区无| 日本一区二区免费在线观看视频 | 一区二区高清视频在线观看| 欧美成人女星排名| 在线视频你懂得一区| 国产69精品久久久久777| 亚洲天堂av一区| 欧美精品电影在线播放| 高清beeg欧美| 美女视频免费一区| 亚洲国产精品嫩草影院| 国产精品丝袜一区| 日韩三级高清在线| 欧美日韩一区中文字幕| 成人黄色免费短视频| 国产一区二区主播在线| 日韩精品1区2区3区| 亚洲综合视频在线观看| 国产精品久久久一本精品| 欧美精品一区二区三区一线天视频 | 欧美日韩色综合| 欧美一区二区三区四区视频| 视频一区二区三区中文字幕| 久久久蜜桃精品| 欧美一区二区性放荡片| 欧美性高清videossexo| av在线免费不卡| 成人午夜激情在线| 国产成人亚洲综合色影视| 裸体一区二区三区| 日韩国产高清在线| 强制捆绑调教一区二区| 日韩不卡一二三区| 亚洲不卡一区二区三区| 亚洲一二三四在线观看| 亚洲老司机在线| 亚洲精品高清在线观看| 亚洲精品v日韩精品| 有坂深雪av一区二区精品| 亚洲欧美综合另类在线卡通| 国产精品免费网站在线观看| 欧美高清一级片在线观看| 中文字幕第一区综合| 国产精品久久久久久久第一福利 | 欧美一区二区不卡视频| 日韩一区二区免费在线电影| 亚洲精品国产无套在线观| 337p亚洲精品色噜噜| 欧美一卡二卡在线| 中文字幕在线观看不卡| 欧美久久久久久久久| 欧美日韩综合色| 欧美综合欧美视频| 成人黄色综合网站| 国产中文字幕一区| 成人涩涩免费视频| 成人aaaa免费全部观看| 国产伦精品一区二区三区免费迷| 国产伦精品一区二区三区免费| 99精品久久免费看蜜臀剧情介绍 | 91久久精品午夜一区二区| 在线精品视频一区二区三四| 精品视频一区 二区 三区| 在线成人免费视频| 亚洲精品久久嫩草网站秘色| 亚洲卡通动漫在线| 亚洲成人中文在线| 国模一区二区三区白浆| 99视频一区二区三区| 欧美无人高清视频在线观看| 欧美成人性战久久| 亚洲男人的天堂在线aⅴ视频| 日韩中文字幕区一区有砖一区| 狠狠色丁香婷婷综合久久片| 色综合激情五月| 久久综合九色综合97婷婷| 亚洲国产视频在线| 久久精品免费看| 一本久道中文字幕精品亚洲嫩| 制服丝袜在线91| 亚洲免费伊人电影| 韩国三级在线一区| 日本乱人伦一区| 久久综合999| 日韩福利视频网| 99re在线精品| 国产日韩在线不卡| 亚洲妇女屁股眼交7| 国产成人99久久亚洲综合精品| 精品视频1区2区| 中文字幕欧美激情| 国产自产2019最新不卡| 欧美日韩精品一区二区天天拍小说 | 国产福利一区二区三区| 欧美精品久久99| 亚洲欧美激情在线| 国产福利一区二区三区视频在线| 欧美日韩另类国产亚洲欧美一级| 欧美韩国日本不卡| 麻豆久久久久久久| 欧美天天综合网| 一区2区3区在线看| 成人午夜视频福利| 精品国产精品网麻豆系列| 午夜伦理一区二区| 欧美制服丝袜第一页| 国产精品水嫩水嫩| 国产在线精品一区二区不卡了 | 日本高清免费不卡视频| 国产丝袜美腿一区二区三区| 丝袜脚交一区二区| 欧美做爰猛烈大尺度电影无法无天| 欧美激情综合五月色丁香小说| 国产一区不卡视频| 久久久噜噜噜久噜久久综合| 九九精品一区二区| 日韩精品资源二区在线| 久久成人免费电影| 国产精品欧美久久久久无广告 | 亚洲美女区一区| 色婷婷久久久久swag精品| 免费精品99久久国产综合精品|