NOPI\\Excel导入数据
来源:互联网 发布:化学实验模拟软件 编辑:程序博客网 时间:2024/05/29 12:14
//导入公司 [HttpPost] public JsonResult ImportFile(HttpPostedFileBase Companyfile) { IWorkbook wb; string result = null; if(Companyfile.ContentLength<=0) { return Json(new MessageModel { Status = StatusCode.WARNING, Message = "导入失败,系统无法读取文件" }, JsonRequestBehavior.AllowGet); } var extension = Path.GetExtension(Companyfile.FileName); if(extension.Equals(".xlsx")) { wb = new XSSFWorkbook(Companyfile.InputStream); result = DoImport(wb); } if(extension.Equals(".xls")) { wb = new HSSFWorkbook(Companyfile.InputStream); result = DoImport(wb); } if (string.IsNullOrEmpty(result)) { return Json(new MessageModel { Status = StatusCode.SUCCESS, Message = "导入成功" }, JsonRequestBehavior.AllowGet); } else { return Json(new MessageModel { Status = StatusCode.WARNING, Message = result }, JsonRequestBehavior.AllowGet); } } //导入判断 private string DoImport(IWorkbook wb) { if(wb.NumberOfSheets ==0) { return "文件无内容"; } ISheet sheet = wb.GetSheetAt(0); if(sheet.LastRowNum <1) { return "文件无内容"; } IRow row = sheet.GetRow(0); string[] cellsname = { "公司名称(必填)" }; if(row.Cells.Count !=cellsname.Count()) { return "模板不正确,请下载正确模板文件"; } List<string> error = new List<string>(); foreach(var cell in row.Cells) { if (!cell.ToString().Equals(cellsname[row.Cells.IndexOf(cell)])) { error.Add("第"+(row.Cells.IndexOf(cell)+1)+"列:"+cellsname[row.Cells.IndexOf(cell)]); } } if (error.Count > 0) { return "模板不正确,请下载正确模板文件"; } //非空验证+数据验证 var Companys = companyService.GetCompanyList(null).ToList(); List<CompanyModel> CompanyNames = new List<CompanyModel>(); for(int i=1;i<sheet.LastRowNum+1;i++) { IRow rows = sheet.GetRow(i); //公司名验证 if(string.IsNullOrEmpty(rows.GetCell(0)?.ToString())) { error.Add("第" + (i + 1) + "行," + cellsname[0] + "列值不能为空"); } else if(rows.GetCell(0)?.ToString().Length>25) { error.Add("第" + (i + 1) + "行," + cellsname[0] + "列值不能超过25"); } else if(Companys.Where(_ => _.CompanyName.Equals(rows.GetCell(0)?.ToString())).Count() > 0) { error.Add("第" + (i + 1) + "行," + cellsname[0] + "列中公司名称已存在"); } if(error.Count==0) { var companymodel = new CompanyModel() { CompanyName = rows.GetCell(0)?.ToString(), CreateBy = CurrentUser.UserName }; CompanyNames.Add(companymodel); } } if(error.Count>0) { return string.Join("</br>", error); } else { try { var result = companyService.ImportCompany(new Hashtable() { { "CompanyList", CompanyNames } }); if (result) { return null; } else { return "导入失败"; } } catch (Exception ex) { return "导入失败:" + ex.Message; } } } }}
阅读全文
0 0
- NOPI\\Excel导入数据
- nopi导入导出excel
- 使用NOPI实现Excel导入导出类
- Nopi Excel下载功能
- NOPI操作Excel
- NOPI导出excel
- C# NOPI读取Excel
- NOPI用模板生成excel
- NOPI实现生成Excel数据表
- NOPI导出标准格式Excel
- EXCEL数据导入SQL
- DataGrid数据导入Excel
- DataGrid数据导入Excel
- DataGrid数据导入Excel
- DataGrid数据导入Excel
- EXCEL数据导入数据库
- EXCEL数据导入数据库
- EXCEL数据导入数据库
- Ubuntu下FTP配置过程
- 大数据平台架构技术选型与场景运用
- MATLAB/SIMULINK测量端问题
- SVN版本控制
- CentOS6开启FTP及telnet服务教程
- NOPI\\Excel导入数据
- Linux下几种RTP协议实现的比较和JRTPLIB编程讲解
- python在windows下import其他模块的注意事项
- Recycleview下拉刷新,上拉加载的思路
- java web开发问题集锦
- 《COM技术内幕——微软组件对象模型》(Inside COM)一书部分源码 for VS 2010
- WebApp图片缩放
- MySQL触发器使用详解
- Android Fingerprint -- HAL层的初始化工作