zoukankan      html  css  js  c++  java
  • 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 });
    
            }
    

      

  • 相关阅读:
    pat 甲级 1065. A+B and C (64bit) (20)
    pat 甲级 1064. Complete Binary Search Tree (30)
    pat 甲级 1010. Radix (25)
    pat 甲级 1009. Product of Polynomials (25)
    pat 甲级 1056. Mice and Rice (25)
    pat 甲级 1078. Hashing (25)
    pat 甲级 1080. Graduate Admission (30)
    pat 甲级 团体天梯 L3-004. 肿瘤诊断
    pat 甲级 1099. Build A Binary Search Tree (30)
    Codeforce 672B. Different is Good
  • 原文地址:https://www.cnblogs.com/zemax/p/5673716.html
Copyright © 2011-2022 走看看