iView导入Excel数据到数据库

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

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

3.效果图:iView导入Excel数据到数据库_第1张图片

后端代码如下:

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 lst = new List();
                    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)

 
            
        






  
  
    
    
    
    


你可能感兴趣的:(随手笔记)