Пример #1
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;
    }
}
Пример #2
0
				break;
			// integer number
			case 1:
				print "dt_int\"".$style.">";
				print (int)($data['data']);
				break;
			// float number
			case 2:
				print "dt_float\"".$style.">";
				print (float)($data['data']);
				break;
			// date
			case 3:
				print "dt_date\"".$style.">";

				$ret = $exc->getDateArray($data['data']);
				printf ("%s-%s-%s",$ret['day'], $ret['month'], $ret['year']);
				break;
			default:
				print "dt_unknown\"".$style."> &nbsp;";
				break;
		   }
			 print "</td>\n";
			} else {
				print "<td class=empty>&nbsp;</td>\n";
			}
		   }
		  } else {
			// print an empty row
			for( $j=0; $j<=$ws['max_col']; $j++ )
				print "<td class=empty>&nbsp;</td>";
Пример #3
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]);
                            $s = iconv_ec('utf-16le', 'utf-8', $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;
    }
}