MVC5中利用NOPI导出EXCLE

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 });}

  

posted on 2016-07-15 15:20 坐在海边看星星 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/zemax/p/5673716.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/418293.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端学习(2014)vue之电商管理系统电商系统之监听on-remove事件

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

Ubuntu彻底删除MySQL重装MySQL

1、删除 mysql sudo apt-get autoremove --purge mysql-server-5.0 sudo apt-get remove mysql-server sudo apt-get autoremove mysql-server sudo apt-get remove mysql-common //这个很重要 2、清理残留数据 dpkg -l |grep ^rc|awk {print $2} |sudo xargs dpkg -P 3、安装 …

HIT计网笔记

一、实践课笔记 1. 路由器连接的是两个不同的网络&#xff0c;交换机连接的是同一个网络。路由器负责在不同网段转移数据&#xff0c;交换机看mac地址&#xff0c;路由器看ip地址。 2. 子网掩码可以分离出IP地址中的网络地址和主机地址&#xff0c;同一个网络的网络地址相同&…

前端学习(2015)vue之电商管理系统电商系统之实现图片的预览效果

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

获取数字的位数

一个整数由个位、十位、百味...组成&#xff0c;我们知道整数可以用int型表示&#xff0c;那么一个整数到底是几位数呢&#xff1f;&#xff1f; 下面这个代码就是来计算位数的&#xff1a; #include<stdio.h>// 获得num的位数 int getbit(int num) {if(num 0)return 0…

几种排序与最大K问题

图片链接 0. 链表归并和快排 链表排序常用归并&#xff0c;但是快排面试常出&#xff1b; 一定要理解归并的本质&#xff1a; 两步走&#xff1a; 1. 先切分成(有序)两部分&#xff0c;此处各部分都是有序的 2. 两部分有序合并 切分成两部分的最小粒度是一个元素&#…

前端学习(2016)vue之电商管理系统电商系统vue-quill-editor

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

多线程知识

同步:多个任务依次按顺序执行 异步:多个任务可以时执行 进程:一个正在运行的应用程序就是一个进程,为应用开辟内存空间 线程:一个进程可以有多个线程,是进程的基本执行单元,执行应用的代码/任务 NSThread: 创建线程 方法一:对象方法 NSThread *thread [[NSThread alloc]initWi…

经典算法题:字典树、并查集、单调栈、二分、带标记函数dp、树、全排列、字符串问题等常用算法

0. Tips 1. 位运算 如何枚举一个二进制状态数字k的子集, 方法就是针对中的二进制为1的位开始进行减法&#xff0c;判断数字k的二进制子集, 像枚举(2^k-1) ~ 0一样枚举其子集&#xff1b; int sub k;do {sub (sub - 1) & k;} while(sub ! k); 比如k 10101的二进制子集…

web窗体的内置对象

内置对象&#xff1a;1、Response - 响应请求对象 Response.Redirect("Default2.aspx"); //重定向 Response.Write("<script>window.open(Default2.aspx);</script>"); ---可以书写任何东西&#xff0c;直接输出出去2、Request - 接收请求对象…

前端学习(2017)vue之电商管理系统电商系统实现表单的预先认证

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

Docker有什么好处?

Docker背后的想法是创建软件程序可移植的轻量容器&#xff0c;让其可以在任何安装了Docker的机器上运行&#xff0c;而不用关心底层操作系统&#xff0c;类似船舶使用的集装箱&#xff0c;野心勃勃的他们成功了。 Docker可以解决虚拟机能够解决的问题&#xff0c;同时也能够解决…

前端学习(2018)vue之电商管理系统电商系统把good_cat转换为字符串

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

bzoj3212 pku3468 A Simple Problem with Integers

一个有初值的数列、区间加、区间查 用线段树直接水过 然而并没有1A&#xff0c;主要是做题太快没看规模结果没注意线段树要用longlong建 卧槽怎么可以这么坑爹&#xff0c;害得我看见wa心慌了&#xff0c;还以为连线段树都要跪 一开始在写下传&#xff08;MDZZ&#xff09;然后…

前端学习(2019)vue之电商管理系统电商系统处理attr参数

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

Java JNI初探

---说明&#xff0c;之前直接百度出来的例子&#xff0c;照猫画虎。没想到的是这例子居然直接来自百度百科&#xff0c;写着写着就囧了。。 ---anyway&#xff0c;写完了就当是给自己看吧。 同事求助&#xff0c;就看了一下&#xff0c;照猫画虎一番&#xff0c;略有所得。 JNI…

前端学习(2020)vue之电商管理系统电商系统之完成商品添加操作

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

cocos2d-lua ARPG手机游戏《烈焰遮天》(客户端+服务端+数据库)发布说明

服务器发布流程及其规范1&#xff0c;环境准备 a, mvn命令行&#xff1a;从\\10.21.210.161\share\tools\apache-maven-3.1.1-bin.tar.gz取出安装包&#xff0c; 解压到本地目录A&#xff0c;添加环境变量M2_HOME指向A&#xff0c;并在系统Path环境变量中增加&qu…

webScoket的浅短的认识

在一般的发送数据请求的时候都是用的http协议&#xff0c;但是对于类似即时聊天&#xff0c;需要客户端与服务器不间断的交互的时候对于http协议来说就不太适用了。因为http协议无法主动把数据发到客户端&#xff0c;而且客户端发送请求之后就会断开连接&#xff0c;无法达到我…