• MVC5中利用NOPI导出EXCLE


    //导出excle 设备效率
            public JsonResult Exporta()
            {
                var jser = new JavaScriptSerializer();
    
                string js1 = Request.Params["rows"].ToString();
                string js2 = Request.Params["columns"].ToString();
                DataTable dt1 = JsonToDataTable.JsToDataTab(js1);
                DataTable dt2 = JsonToDataTable.JsToDataTab(js2);
    
                //反序列化
                //var objList1 = jser.DeserializeObject(Request.Params["rows"]);
                //Object objList2 = jser.DeserializeObject(Request.Params["columns"]);
    
    
                //foreach (DataRow dr in dt2.Rows)
                //{
                //    string value = dr["Title"].ToString();
                //    DataColumn col = new DataColumn();
                //    col.ColumnName = value;
                //    col.DataType = System.Type.GetType("System.String");
                //    dt1.Columns.Add(col);
    
                //}
    
    
                //创建Excel文件的对象
                NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();
                HSSFSheet sheet = book.CreateSheet("Sheet1");
    
                //给sheet1添加第一行的头部标题
                HSSFRow row1 = sheet.CreateRow(0);
                int i = -1;
                foreach (DataRow dr in dt2.Rows)
                {
                    i++;
                    string value = dr["title"].ToString();
                    row1.CreateCell(i).SetCellValue(value);
    
                }
                if (dt1 != null)
                {
    
                    //将数据逐步写入sheet1各个行
                    for (int j = 0; j < dt1.Rows.Count; j++)
                    {
                        HSSFRow rowtemp = sheet.CreateRow(j + 1);
    
                        rowtemp.CreateCell(0).SetCellValue(dt1.Rows[j]["WorkShopName"].ToString());
                        rowtemp.CreateCell(1).SetCellValue(dt1.Rows[j]["OpenRate"].ToString());
                        rowtemp.CreateCell(2).SetCellValue(dt1.Rows[j]["RunRate"].ToString());
                        rowtemp.CreateCell(3).SetCellValue(dt1.Rows[j]["UOE2"].ToString());
                        rowtemp.CreateCell(4).SetCellValue(dt1.Rows[j]["UOE3"].ToString());
                        rowtemp.CreateCell(5).SetCellValue(dt1.Rows[j]["UOE4"].ToString());
                      
                         
                    }
                }
    
                // 写入到客户端 
                // 写入到客户端 
                if (Directory.Exists(Server.MapPath("~/ExportFiles/")) == false)//如果不存在就创建file文件夹
                {
                    Directory.CreateDirectory(Server.MapPath("~~/ExportFiles/"));
                }
                //判断文件的存在
    
                if (System.IO.File.Exists(Server.MapPath("~/ExportFiles/设备效率.xls")))
                {
                    Response.Write("Yes");
    
                    //存在文件
    
                }
    
                else
                {
                    Response.Write("No");
                    //不存在文件
                    System.IO.File.Create(Server.MapPath("~/ExportFiles/设备效率.xls")).Close();//创建该文件
    
                }
                try
                {
                    FileStream fs = new FileStream(Server.MapPath("~/ExportFiles/" + "设备效率.xls"), FileMode.Create);
                    book.Write(fs);
                    fs.Seek(0, SeekOrigin.Begin);
                    fs.Flush();
                    fs.Close();
                }
                catch (Exception)
                {
    
                    throw;
                }
    
    
                //return File(fs, "application/vnd.ms-excel", "1.xls");
    
                return Json(new { mes = "", state = 1 });
    
            }
    

      

  • 相关阅读:
    python -- 初始函数 函数的定义,函数的返回值以及函数的参数
    python 文件操作: 文件操作的函数, 模式及常用操作.
    第三节 深入JavaScript
    第二节 JavaScript基础
    第一节 JavaScript概述
    面试大纲
    flask
    面试准备
    数据结构与算法 学习
    Linux学习
  • 原文地址:https://www.cnblogs.com/zemax/p/5673716.html
Copyright © 2020-2023  润新知