tp5 phpexcel 导入Excel 获取表格详细数据 包括隐藏小数点

 。。。。。棒棒哒~~~~ 为什么没表情了???  ( ̄▽ ̄)/

之前做的导入,例如Excel表格展示的是123 但实际人家有小数点的,比如 123.11    就是隐藏了。

我之前的写法 ↓

 $obj_PHPExcel = $objReader->load($file);
 $excel_array = $obj_PHPExcel->getsheet(0)->toArray();   //转换为数组格式

这样也能实现导入但并不能获取到小数点,所以我修改为了下面的循环获取到表格里面的值。统统都可以获取到啦。↓

common.php
public function import()
    {
        set_time_limit(0);
        ini_set("memory_limit", "1024M");
        $file = input('fileExcel');
        // Loader::import('PhpExcel.PHPExcel', EXTEND_PATH, '.php');
        if (is_file($file)) {
            $extension = strtolower(pathinfo($file, PATHINFO_EXTENSION));
            //区分上传文件格式
            if ($extension == 'xlsx') {
                $objReader = \PHPExcel_IOFactory::createReader('Excel2007');
            } else if ($extension == 'xls') {
                $objReader = \PHPExcel_IOFactory::createReader('Excel5');
            } else if ($extension == 'csv') {
                setlocale(LC_ALL, 'zh_CN');
                $objReader = \PHPExcel_IOFactory::createReader('CSV')->setInputEncoding('GBK');
            }

            $obj_PHPExcel = $objReader->load($file); // 载入excel文件
            $sheet = $obj_PHPExcel->getSheet(0); // 读取第一個工作表
            $highestRow = $sheet->getHighestRow(); // 取得总行数
            $highestColumm = $sheet->getHighestColumn(); // 取得总列数
            /** 循环读取每个单元格的数据 */
            for ($row = 1; $row <= $highestRow; $row++){//行数是以第1行开始
                for ($column = 'A'; $column <= $highestColumm; $column++) {//列数是以A列开始
                    $excel_array[$row][] = $sheet->getCell($column.$row)->getValue();
                }
            }
            return $excel_array;
        } else {
            showMsg('0', '上传的文件不存在!');
        }
    }

控制器调用:

public  function  test_import(){
        $excel_array = parent::import();
        //将Excel表头删除
        unset($excel_array[1]);
        foreach ($excel_array as $k1 => $v1) {
            $data['hid'] = $this->input['hid'];
            foreach ($v1 as $k2 => $v2) {
                $v2 = rtrim($v2, '%');
                $v2 = rtrim($v2, '-');
                $tableKey = getTableKey($k2);
                $data[$tableKey] = $v2;
            }
            try{
                $test = new \app\common\model\test_import();
                if($test->allowfield(true)->save($data)){
                }else{
                    showMsg(-1,'导入失败!请检查Excel格式!');
                }
            }catch (\Exception $e){
                showMsg(-1,'导入失败!请检查Excel格式!');
            }
        }
        showMsg('0','导入成功!');
    }

你可能感兴趣的:(thinkphp5,其他)