function get( $exc, $data )
	{
		switch( $data['type'] )
		{
			// string
		case 0:
			$ind = $data['data'];
			if( $exc->sst[unicode][$ind] )
				return uc2html($exc->sst['data'][$ind]);
			else
				return $exc->sst['data'][$ind];

			// integer
		case 1:
			return (integer) $data['data'];

			// float
		case 2:
			return (float) $data['data'];
                
		case 3:
			return gmdate("m-d-Y",$exc->xls2tstamp($data[data]));
			//return (integer) $data['data'];

		default:
			return '';
		}
	}
Beispiel #2
0
            fatal("Неизвестная ошибка");
    }
    // Обрабортка рабочего листа
    $ws_number = count($exc->worksheet['name']);
    if ($ws_number < 1) {
        fatal("Не найден рабочий лист в Excel файле.");
    }
    $ws_number = 1;
    // Установка, чтобы обработать только первый рабочий лист
    for ($ws_n = 0; $ws_n < $ws_number; $ws_n++) {
        $ws = $exc->worksheet['data'][$ws_n];
        // Получение данных из рабочего листа
        if (!$exc->worksheet['unicode'][$ws_n]) {
            $db_table = $ws_name = $exc->worksheet['name'][$ws_n];
        } else {
            $ws_name = uc2html($exc->worksheet['name'][$ws_n]);
            $db_table = convertUnicodeString($exc->worksheet['name'][$ws_n]);
        }
        echo "<div align=\"center\">Рабочий лист: <b>{$ws_name}</b></div><br>";
        $max_row = $ws['max_row'];
        $max_col = $ws['max_col'];
        if ($max_row > 0 && $max_col > 0) {
            getTableData(&$ws, &$exc);
        } else {
            fatal("Пустой рабочий лист");
        }
    }
}
if ($_POST['step'] == 2) {
    // вставка данных в mysql (шаг 2)
    echo "<br>";
function Read_Excel_File($ExcelFile, &$result)
{
    $exc = new ExcelFileParser("", ABC_NO_LOG);
    $res = $exc->ParseFromFile($ExcelFile);
    $result = null;
    switch ($res) {
        case 0:
            break;
        case 1:
            $err = "�޷����ļ�";
            break;
        case 2:
            $err = "�ļ�̫С�����ܲ���Excel�ļ�";
            break;
        case 3:
            $err = "�ļ�ͷ��ȡ����";
            break;
        case 4:
            $err = "��ȡ�ļ�ʱ���";
            break;
        case 5:
            $err = "�ⲻ��һ��Excel�ļ�������Excel5.0��ǰ�汾�ļ�";
            break;
        case 6:
            $err = "�ļ���";
            break;
        case 7:
            $err = "���ļ���û�з���Excel���";
            break;
        case 8:
            $err = "��֧�ֵ��ļ��汾";
            break;
        default:
            $err = "δ֪����";
            break;
    }
    for ($ws_num = 0; $ws_num < count($exc->worksheet['name']); $ws_num++) {
        $Sheetname = $exc->worksheet['name'][$ws_num];
        $ws = $exc->worksheet['data'][$ws_num];
        for ($j = 0; $j <= $ws['max_row']; $j++) {
            for ($i = 0; $i <= $ws['max_col']; $i++) {
                $data = $ws['cell'][$j][$i];
                switch ($data['type']) {
                    // string
                    case 0:
                        $ind = $data['data'];
                        if ($exc->sst['unicode'][$ind]) {
                            $s = uc2html($exc->sst['data'][$ind]);
                        } else {
                            $s = $exc->sst['data'][$ind];
                        }
                        if (strlen(trim($s)) == 0) {
                            $V = "";
                        } else {
                            $V = $s;
                        }
                        break;
                        // integer number
                    // integer number
                    case 1:
                        $V = (int) $data['data'];
                        break;
                        // float number
                    // float number
                    case 2:
                        $V = (double) $data['data'];
                        break;
                        // date
                    // date
                    case 3:
                        $ret = $exc->getDateArray($data['data']);
                        $V = $ret['year'] . "-" . $ret['month'] . "-" . $ret['day'] . " " . $ret['hour'];
                        break;
                    default:
                        break;
                }
                $result[$Sheetname][$j][$i] = $V;
            }
        }
    }
    if ($err == '') {
        return 0;
    } else {
        return $err;
    }
}
Beispiel #4
0
			   ){

			 // print cell data
			 print "<td class=\"";
			 $data = $ws['cell'][$i][$j];

			 $font = $ws['cell'][$i][$j]['font'];
			 $style = " style ='".ExcelFont::ExcelToCSS($exc->fonts[$font])."'";

		   switch ($data['type']) {
			// string
			case 0:
				print "dt_string\"".$style.">";
				$ind = $data['data'];
				if( $exc->sst['unicode'][$ind] ) {
					$s = uc2html($exc->sst['data'][$ind]);
				} else
					$s = $exc->sst['data'][$ind];
				if( strlen(trim($s))==0 )
					print "&nbsp;";
				else
					print $s;
				break;
			// integer number
			case 1:
				print "dt_int\"".$style.">";
				print (int)($data['data']);
				break;
			// float number
			case 2:
				print "dt_float\"".$style.">";
Beispiel #5
0
function Read_Excel_File($ExcelFile, &$result)
{
    $exc = new ExcelFileParser("", ABC_NO_LOG);
    $res = $exc->ParseFromFile($ExcelFile);
    $result = null;
    switch ($res) {
        case 0:
            break;
        case 1:
            $err = "无法打开文件";
            break;
        case 2:
            $err = "文件太小,可能不是Excel文件";
            break;
        case 3:
            $err = "文件头读取错误";
            break;
        case 4:
            $err = "读取文件时出错";
            break;
        case 5:
            $err = "这不是一个Excel文件或者是Excel5.0以前版本文件";
            break;
        case 6:
            $err = "文件损坏";
            break;
        case 7:
            $err = "在文件中没有发现Excel数据";
            break;
        case 8:
            $err = "不支持的文件版本";
            break;
        default:
            $err = "未知错误";
            break;
    }
    for ($ws_num = 0; $ws_num < count($exc->worksheet['name']); $ws_num++) {
        $Sheetname = $exc->worksheet['name'][$ws_num];
        $ws = $exc->worksheet['data'][$ws_num];
        for ($j = 0; $j <= $ws['max_row']; $j++) {
            for ($i = 0; $i <= $ws['max_col']; $i++) {
                $data = $ws['cell'][$j][$i];
                switch ($data['type']) {
                    // string
                    case 0:
                        $ind = $data['data'];
                        if ($exc->sst['unicode'][$ind]) {
                            $s = uc2html($exc->sst['data'][$ind]);
                        } else {
                            $s = $exc->sst['data'][$ind];
                        }
                        if (strlen(trim($s)) == 0) {
                            $V = "";
                        } else {
                            $V = $s;
                        }
                        break;
                        // integer number
                    // integer number
                    case 1:
                        $V = (int) $data['data'];
                        break;
                        // float number
                    // float number
                    case 2:
                        $V = (double) $data['data'];
                        break;
                        // date
                    // date
                    case 3:
                        $ret = $exc->getDateArray($data['data']);
                        $V = $ret['year'] . "-" . $ret['month'] . "-" . $ret['day'] . " " . $ret['hour'];
                        break;
                    default:
                        break;
                }
                $result[$Sheetname][$j][$i] = $V;
            }
        }
    }
    if ($err == '') {
        return 0;
    } else {
        return $err;
    }
}