iView导入Excel数据到数据库

来源:互联网 发布:大唐软件官网 编辑:程序博客网 时间:2024/06/05 16:03

1.前端使用的是iView的Upload上传组件

2.后端使用的是ExcelPackage,当然可以使用NPOI

3.效果图:

后端代码如下:

1)

 //导入        [HttpPost]        public JsonResult Import()        {            AjaxResult result = new AjaxResult();            HttpPostedFileBase fostFile = Request.Files["file"];            Stream streamfile = fostFile.InputStream;            try            {                using (ExcelPackage xlPackage = new ExcelPackage(streamfile))                {                    // get the first worksheet in the workbook                    ExcelWorksheet worksheet = xlPackage.Workbook.Worksheets[1];                    if (worksheet.Cells.Value == null || worksheet.Cells.Value == null)                    {                        result.msg = "表格没有数据";                        return Json(result);                    }                    int rowCounr = (int)Math.Ceiling((decimal)((decimal)worksheet.Cells.Count() / 8));//所有表格数 / 列数 = 行数                    List<PUB_PROPERTY> lst = new List<PUB_PROPERTY>();                    PubPopertyService svc = new PubPopertyService();                    #region                    for (int i = 2; i <= rowCounr; i++)                    {                        PUB_PROPERTY entity = new PUB_PROPERTY();                        if (string.IsNullOrWhiteSpace(worksheet.Cells[i, 2].Value.ToString()))                        {                            result.msg = "物业名称不能为空";                            return Json(result);                        }                        if (worksheet.Cells[i, 2].Value.ToString().Length > 32)                        {                            result.msg = "物业名称不得超过32个字";                            return Json(result);                        }                        if (string.IsNullOrWhiteSpace(worksheet.Cells[i, 3].Value.ToString()))                        {                            result.msg = "物业地址不能为空";                            return Json(result);                        }                        if (worksheet.Cells[i, 3].Value.ToString().Length > 128)                        {                            result.msg = "物业地址不得超过128个字";                            return Json(result);                        }                        if (string.IsNullOrWhiteSpace(worksheet.Cells[i, 4].Value.ToString()))                        {                            result.msg = "法定用途不能为空";                            return Json(result);                        }                        if (worksheet.Cells[i, 4].Value.ToString().Length > 8)                        {                            result.msg = "法定用途不能超过8个字";                            return Json(result);                        }                        if (worksheet.Cells[i, 5].Value == null)                        {                            result.msg = "用地面积不能为空";                            return Json(result);                        }                        if (decimal.Parse(worksheet.Cells[i, 5].Value.ToString()) < 1 || decimal.Parse(worksheet.Cells[i, 5].Value.ToString()) > 999999999999)                        {                            result.msg = "请输入合法的用地面积";                            return Json(result);                        }                        if (worksheet.Cells[i, 6].Value == null)                        {                            result.msg = "建筑面积不能为空";                            return Json(result);                        }                        if (decimal.Parse(worksheet.Cells[i, 6].Value.ToString()) < 1 || decimal.Parse(worksheet.Cells[i, 6].Value.ToString()) > 999999999999)                        {                            result.msg = "请输入合法的建筑面积";                            return Json(result);                        }                        if (worksheet.Cells[i, 7].Value == null)                        {                            result.msg = "户数不能为空";                            return Json(result);                        }                        if (decimal.Parse(worksheet.Cells[i, 7].Value.ToString()) < 1 || decimal.Parse(worksheet.Cells[i, 7].Value.ToString()) > 999999999999)                        {                            result.msg = "请填写有效的户数";                            return Json(result);                        }                        if (worksheet.Cells[i, 8].Value == null)                        {                            result.msg = "入伙年月不能为空";                            return Json(result);                        }                        if (worksheet.Cells[i, 8].Value.ToString().Length != 7)                        {                            result.msg = "请填写有效的入伙年月";                            return Json(result);                        }                        entity.PropName = worksheet.Cells[i, 2].Value.ToString();                        entity.Address = worksheet.Cells[i, 3].Value.ToString();                        entity.LegalUsage = worksheet.Cells[i, 4].Value.ToString();                        entity.Area = decimal.Parse(worksheet.Cells[i, 5].Value.ToString());                        entity.FloorArea = decimal.Parse(worksheet.Cells[i, 6].Value.ToString());                        entity.HouseTotal = int.Parse(worksheet.Cells[i, 7].Value.ToString());                        entity.BuiltYear = DateTime.Parse(worksheet.Cells[i, 8].Value.ToString());                        entity.Creator = Current.Id;                        entity.CreatorName = Current.Name;                        entity.Created = DateTime.Now;                        entity.Updator = Current.Id;                        entity.UpdatorName = Current.Name;                        entity.Updated = DateTime.Now;                        entity.Status = 3;                        entity.GovId = Current.GovId;                        lst.Add(entity);                        int Id = 0;                        svc.Create(entity, out Id);                        result.code = 1;                    }                    #endregion                }            }            catch (Exception ex)            {                log.ErrorFormat("[DSL-1027]导入辖区物业信息发生异常 #op={0}({1}).异常为:{3}", Current.Name, Current.Id,ex);                result.msg = new ErrorItem(1027, "导入辖区物业信息失败").ToString();            }            return Json(result);        }


前端代码如下:

1)

 <Upload         action="/Prop/Import"        :format ="['xlsx']"        :on-success="handleSuccess"        :on-format-error="handleFormatError"        :on-error="handleError"        >            <Button type="ghost" icon="ios-cloud-upload-outline">导  入</Button>        </Upload>





原创粉丝点击