jquery.form.js异步提交表单

引入脚本:
<script type="text/javascript" src="/js/jquery.form.min.js"></script>
<script src="/js/json2.js"></script>


//前端代码:
<form id="f1"> <span class="btn-upload form-group"> <input class="input-text upload-url radius" type="text" name="uploadfile-1" id="uploadfile-1" readonly><a href="javascript:void();" class="btn btn-primary radius"><i class="iconfont">&#xf0020;</i> 浏览文件</a> <input type="file" multiple name="file-1" class="input-file"> </span> <input type="button" class="btn btn-warning radius mt-10 f-l mr-10" onclick="ImportData(this)" value="保存"/> <a href="/files/企业表.xls" target="_blank" class="f-16 l-30 mt-10 f-l c-danger">下载范例</a> <div class="clearfix"></div> </form> //提交表单 $("#f1").ajaxSubmit({ url: "/ImportAndCheck/ImportCompanyOperation/", type: "post", enctype: "multipart/form-data", dataType: "html", beforeSubmit: function () { $(obj).val("保存中...").attr("disabled", true); }, success: function (response) { try { data = JSON.parse(response); if (data.code > 0) { layer.msg(data.msg, { time: 1000 }); setTimeout(function () { window.location.href = "/ImportAndCheck/ImportCompany?status=0"; }, 1000); } else { layer.msg(data.msg, { time: 1000 }); $(obj).val("保存").attr("disabled", false); } } catch (err) { layer.msg("导入失败!", { time: 1000 }); $(obj).val("保存").attr("disabled", false); } }, error: function (XmlHttpRequest, textStatus, errorThrown) { layer.msg("导入失败", { time: 1000 }); $(obj).val("保存").attr("disabled", false); } });

 

//服务端
HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;
 ReturnJsonCode jsonCode = new ReturnJsonCode();
            if (files == null || files.Count == 0)
            {
                jsonCode.msg = "请选择上传的导入文件";
                return jsonCode;
            }
            //验证文件类型
            if (files != null && files.Count > 0)
            {
                HttpPostedFile file = null;
                file = files[0];
                //扩展名检查
                string picext = System.IO.Path.GetExtension(file.FileName).ToLower();
                if (picext != ".xls")
                {
                    jsonCode.msg = "上传文件仅支持xls文档格式";
                    return jsonCode;
                }

                DataTable db = ExcelToDataTable(file, file.FileName, 0);
                int failcount = 0;
                int successcount = 0;
                if (db != null && db.Rows.Count > 0)
                {
                    foreach (DataRow dr in db.Rows)
                    {
                        string mobile = dr["手机号码"].ToString().Trim();
                        string truename = dr["姓名"].ToString().Trim();
                        string iskejizhuanyuan = dr["科技专员"].ToString().Trim();
                        string sex = dr["性别"].ToString().Trim();

 

/// <summary>
        ///     Excel文件导成Datatable
        /// </summary>
        /// <param name="strFilePath">Excel文件目录地址</param>
        /// <param name="strTableName">Datatable表名</param>
        /// <param name="iSheetIndex">Excel sheet index</param>
        /// <returns></returns>
        public static DataTable ExcelToDataTable(string strFilePath, string strTableName, int iSheetIndex)
        {
            var strExtName = Path.GetExtension(strFilePath);

            var dt = new DataTable();
            if (!string.IsNullOrEmpty(strTableName))
            {
                dt.TableName = strTableName;
            }

            if (strExtName.Equals(".xls"))
            {
                using (var file = new FileStream(strFilePath, FileMode.Open, FileAccess.Read))
                {
                    var workbook = new HSSFWorkbook(file);
                    var sheet = workbook.GetSheetAt(iSheetIndex);

                    //列头
                    foreach (var item in sheet.GetRow(sheet.FirstRowNum).Cells)
                    {
                        dt.Columns.Add(item.ToString(), typeof(string));
                    }

                    //写入内容
                    var rows = sheet.GetRowEnumerator();
                    while (rows.MoveNext())
                    {
                        IRow row = (HSSFRow)rows.Current;
                        if (row.RowNum == sheet.FirstRowNum)
                        {
                            continue;
                        }

                        var dr = dt.NewRow();
                        foreach (var item in row.Cells)
                        {
                            switch (item.CellType)
                            {
                                case CellType.Boolean:
                                    dr[item.ColumnIndex] = item.BooleanCellValue;
                                    break;
                                case CellType.Error:
                                    dr[item.ColumnIndex] = ErrorEval.GetText(item.ErrorCellValue);
                                    break;
                                case CellType.Formula:
                                    switch (item.CachedFormulaResultType)
                                    {
                                        case CellType.Boolean:
                                            dr[item.ColumnIndex] = item.BooleanCellValue;
                                            break;
                                        case CellType.Error:
                                            dr[item.ColumnIndex] = ErrorEval.GetText(item.ErrorCellValue);
                                            break;
                                        case CellType.Numeric:
                                            if (DateUtil.IsCellDateFormatted(item))
                                            {
                                                dr[item.ColumnIndex] = item.DateCellValue.ToString("yyyy-MM-dd hh:MM:ss");
                                            }
                                            else
                                            {
                                                dr[item.ColumnIndex] = item.NumericCellValue;
                                            }
                                            break;
                                        case CellType.String:
                                            var str = item.StringCellValue;
                                            if (!string.IsNullOrEmpty(str))
                                            {
                                                dr[item.ColumnIndex] = str;
                                            }
                                            else
                                            {
                                                dr[item.ColumnIndex] = null;
                                            }
                                            break;
                                        case CellType.Unknown:
                                        case CellType.Blank:
                                        default:
                                            dr[item.ColumnIndex] = string.Empty;
                                            break;
                                    }
                                    break;
                                case CellType.Numeric:
                                    if (DateUtil.IsCellDateFormatted(item))
                                    {
                                        dr[item.ColumnIndex] = item.DateCellValue.ToString("yyyy-MM-dd hh:MM:ss");
                                    }
                                    else
                                    {
                                        dr[item.ColumnIndex] = item.NumericCellValue;
                                    }
                                    break;
                                case CellType.String:
                                    var strValue = item.StringCellValue;
                                    if (!string.IsNullOrEmpty(strValue))
                                    {
                                        dr[item.ColumnIndex] = strValue;
                                    }
                                    else
                                    {
                                        dr[item.ColumnIndex] = null;
                                    }
                                    break;
                                case CellType.Unknown:
                                case CellType.Blank:
                                default:
                                    dr[item.ColumnIndex] = string.Empty;
                                    break;
                            }
                        }
                        dt.Rows.Add(dr);
                    }
                }
            }
            return dt;
        }

 

posted on 2017-04-25 09:50  阳光秋天  阅读(410)  评论(0编辑  收藏  举报