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 ''; } }
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; } }
){ // 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 " "; 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.">";
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; } }