Ejemplo n.º 1
0
 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;
        }
    }
}