MVC

 public string GetAPIData(string requestMethod, string actionName, object obj = null)
        {
            HttpClient hc = new HttpClient();
            hc.BaseAddress = new Uri("https://localhost:44313/api/student/");
            Task<HttpResponseMessage> task = null;
            switch (requestMethod)
            {
                case "get":
                    task = hc.GetAsync(actionName);
                    break;
                case "post":
                    task = hc.PostAsJsonAsync(actionName, obj);
                    break;
                case "put":
                    task = hc.PutAsJsonAsync(actionName, obj);
                    break;
                case "delete":
                    task = hc.DeleteAsync(actionName);
                    break;
            }
            if (task != null)
            {
                task.Wait();
                if (task.Result.IsSuccessStatusCode)
                {
                    var data = task.Result.Content.ReadAsStringAsync().Result;
                    return data;
                }
            }
            return "";
        }

        // GET: Student
        public ActionResult ShowStudent()
        {
            return View();
        }

        public ActionResult AddStudent()
        {
            return View();
        }

        public ActionResult UpdStudent(int sId)
        {
            ViewBag.SId = sId;
            return View();
        }

        public void ImportFile()
        {
            //获取请求的文件
            var excelFile = Request.Files[0];
            //获取文件名
            var fname = excelFile.FileName;
            if (string.IsNullOrEmpty(fname))
            {
                Response.Write("<script>alert('请选择文件!');location.href='/Student/ShowStudent';</script>");
                return;
            }
            //获取上传的路径
            var filepath = Server.MapPath("~/ExcelFiles");
            //拼接文件字符串 路径+文件名
            var filename = Path.Combine(filepath, fname);
            //文件保存到客户端
            excelFile.SaveAs(filename);
            //导入数据
            DataTable dt = NPOIExcelHelper.ExcelToTable(filename);
            //datatable转List
            string strlist = JsonConvert.SerializeObject(dt);
            var list = JsonConvert.DeserializeObject<List<StudentInfo>>(strlist);
            Session["StuList"] = list;
            foreach (var item in list)
            {
                GetAPIData("post", "ImportStudent", item);
            }
            Response.Write("<script>alert('导入成功!');location.href='/Student/ShowStudent';</script>");
        }

        public ActionResult ExportFile()
        {
            //判断是否有数据
            if (Session["StuList"]!=null&& (Session["StuList"] as List<StudentInfo>).Any())
            {
                var stulist = Session["StuList"] as List<StudentInfo>;
                var dt = new DataTable();
                var props = typeof(StudentInfo).GetProperties();
                //添加列
                dt.Columns.AddRange(props.Select(p => new DataColumn(p.Name, p.PropertyType)).ToArray());
                //循环添加行
                foreach (var stu in stulist)
                {
                    //创建新行
                    DataRow dr = dt.NewRow();
                    foreach (var prop in props)
                    {
                        //dr["Id"]=;
                        dr[prop.Name] = prop.GetValue(stu);
                    }
                    dt.Rows.Add(dr);
                }
                //定义文件名
                var filename = "导出学生信息.xls";
                var sm = NPOIExcelHelper.TableToExcelForMVC(dt, filename);
                return File(sm, "application/vnd.ms-excel",filename);
            }
            else
            {
                return View("ShowStudent", Session["StuList"]);
            }
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值