导入excel

1、html

<form action="{:U(exportBrand)}" method="post" class="form-horizontal importform" id="imform" target="_blank" enctype="multipart/form-data">
    <div class="form-item">
        <label for="imexcel">
            <input type="file" id="imexcel" name="imexcel" accept=".csv,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"/>
            <span class="btn">导入品牌</span>
        </label>
    </div>
</form>

2、js

//导入品牌
        $("#imexcel").bind('change', function(){
            if (this.files.length === 0) return;
            $("#imform").submit();
        });

        $('#imform').bind('submit', function(e) {
            e.preventDefault(); // prevent native submit
            $(this).ajaxSubmit({
                dataType:'json',
                success: function(data){
                    if (0 == data.errNo) {
                        layer.msg('导入成功');
                    }else {
                        layer.msg(data.msg);
                    }
                },
            })
        });

3、PHP

$errno = 0;
        $msg = '';
        do {
            if (!isset($_FILES['imexcel'])) {
                $errno = 100;
                $msg = '上传为空';
                break;
            }
            $res = get_file_suffix($_FILES['imexcel']['name'], array('xls', 'xlsx', 'csv'));
            if (!$res) {
                $errno = 101;
                $msg = '请上传xls、xlsx、csv格式的文件';
                break;
            }
            $upload_dir = '/tmp/';
            $file_path_arr = pathinfo($_FILES['imexcel']['name']);
            $ext_name = $file_path_arr['extension'];
            $file_new_name = time() . uniqid() . '.' . $ext_name;
            if (!move_uploaded_file($_FILES['imexcel']['tmp_name'], $upload_dir . $file_new_name)) {
                $errno = 102;
                $msg = '上传失败,请重试';
                break;
            }
            vendor("PHPExcel.PHPExcel");
            //读取excel
            $data = readExcel($upload_dir . $file_new_name);
            if (empty($data)) {
                $errno = 103;
                $msg = '读取失败,请查看文件';
                break;
            }
        } while (false);
        if (-1 === $errno) {
            $msg = $res['msg'];
        }
        $this->ajaxReturn(return_format($errno, $msg));

 

posted @ 2018-08-09 14:45  个人小站  阅读(146)  评论(0编辑  收藏  举报