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; } }
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."> "; break; } print "</td>\n"; } else { print "<td class=empty> </td>\n"; } } } else { // print an empty row for( $j=0; $j<=$ws['max_col']; $j++ ) print "<td class=empty> </td>";
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; } }