iView导入Excel数据到数据库

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>






  
  
 
 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
根据引用\[1\]和引用\[2\]的内容,你可以按照以下步骤在uni-app中安装和导入uView UI框架: 1. 方法一: - 在根目录下的`main.js`文件中,使用`npm`命令安装uView UI:`npm install uview-ui --save`。 - 引入uView UI:`import uView from 'uview-ui'`。 - 使用uView UI:`Vue.use(uView)`。 - 在根目录下的`uni.scss`文件中,引入uView UI的主题样式:`@import 'uview-ui/theme.scss';`。 - 在`src`目录下的`App.vue`文件中,使用`lang="scss"`属性,引入uView UI的样式:`@import "uview-ui/index.scss";`。 - 在根目录下的`pages.json`文件中,添加uView UI的easycom配置:`"easycom": { "^u-(.*)": "uview-ui/components/u-$1/u-$1.vue" }`。 2. 方法二: - 下载uView UI的zip包,并解压。 - 在项目根目录下创建一个名为`uview-ui`的文件夹,并将解压后的文件放入其中。 - 在`main.js`文件中,引入uView UI:`import uView from '@/uview-ui'`。 - 使用uView UI:`Vue.use(uView)`。 - 在`uni.css`文件中,引入uView UI的主题样式:`@import '@/uview-ui/theme.scss';`。 - 在`App.vue`文件中,使用`lang="scss"`属性,引入uView UI的样式:`@import "@/uview-ui/index.scss";`。 - 在`pages.json`文件中,添加uView UI的easycom配置:`"easycom": { "^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue" }`。 根据引用\[3\]的内容,uView是专为uni-app生态设计的UI框架,而uni-app是一个使用Vue.js开发跨平台前端应用的框架,可以将开发的代码发布到iOS、Android、H5以及各种小程序平台。你可以在uView的官网上了解更多关于组件的使用和文档:\[https://www.uviewui.com/components/quickstart.html\](https://www.uviewui.com/components/quickstart.html)。 #### 引用[.reference_title] - *1* *2* [uniapp中引入uView](https://blog.csdn.net/qq_30306717/article/details/121490000)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [uniapp初步搭建:如何引入uview库(跨移动多端ui库)](https://blog.csdn.net/weixin_43928112/article/details/127888179)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五菱宏光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值