public static function parseexcel($filepath, $source = 'GBK', $target = 'UTF-8') { $data = array(); require PATH_APPLICATION . '/pm_excel_reader.class.php'; $data = new Spreadsheet_Excel_Reader(); $data->setOutputEncoding('GBK'); @$data->read($filepath); $dataarray = array(); for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) { for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) { $dataarray[$i][$j] = $data->sheets[0]['cells'][$i][$j]; } } if ($source == $target) { $data = array_slice($dataarray, 1); } else { $dataarray = ck_iconv_deep($source, $target, $dataarray); $data = array_slice($dataarray, 1); } return $data; }
function ck_iconv_deep($source_lang, $target_lang, $value) { if (empty($value)) { return $value; } else { if (is_array($value)) { foreach ($value as $k => $v) { $value[$k] = ck_iconv_deep($source_lang, $target_lang, $v); } return $value; } elseif (is_string($value)) { return ck_iconv($source_lang, $target_lang, $value); } else { return $value; } } }