NFine框架JqGrid导出选中行为Excel实现方法
客户端
function PostAndGetFileByUrl(url,type,postdata) {
var temp;
$.ajax({
url: url,
type: type,
data: {keyword:postdata},
async: true,
dataType: "Text",
success: function (data) {
downloadFile(data);
}
});
return temp;
}
function btn_export()
{
var $gridList = $("#gridList");
var rowData = $gridList.jqGrid('getGridParam','selarrrow');
PostAndGetFileByUrl("/RunManage/EnvData/WriteToExcel", "POST", rowData.join(","));
}
function downloadFile(url) {
try {
var elemIF = document.createElement("iframe");
elemIF.src = url;
elemIF.style.display = "none";
document.body.appendChild(elemIF);
} catch (e) {
}
}
<a id="NF-export" class="btn btn-primary" onclick="btn_export()"><i class="fa fa-plus"></i>导出XLS</a>
使用到了npoi库,请自行引用
[HttpPost]
[HandlerAjaxOnly]
public ActionResult WriteToExcel(string keyword)
{
DataTable dt = new DataTable();
dt.Columns.Add("AAAA");
dt.Columns.Add("BBBB");
List<ItemEntity> dataList = EnvDataApp.GetListByKeywordArray(keyword);//请写自己的获取List方法
foreach (var item in dataList)
{
DataRow dr = dt.NewRow();
dr["AAAA"] = item.F_ID;
dr["BBBB"] = item.F_FullName;
dt.Rows.Add(dr);
}
NPOIExcel npoiexel = new NPOIExcel(); string fileDir = DateTime.Now.ToString("yyyyMMdd");
string fileName = "G" + Guid.NewGuid().ToString("N") + ".xls";
string destDir = Server.MapPath(@"/XlsTemp") + "\\" + fileDir + "\\";
if (!Directory.Exists(destDir))
{
Directory.CreateDirectory(destDir);
}
npoiexel.ToExcel(dt, "数据", "Sheet1", destDir + fileName);
return Content("/XlsTemp/" + fileDir + "/" + fileName);
}
}
注:这是一种写文件到磁盘方法,可以改造下,支持大文件,定时查询生成状态,可以重复下载。如果简单的excel可以直接Response.Write
NFine框架JqGrid导出选中行为Excel实现方法的更多相关文章
- MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult
导出EXCEL方法总结 MVC导出数据到EXCEL的方法有很多种,常见的是: 1.采用EXCEL COM组件来动态生成XLS文件并保存到服务器上,然后转到该文件存放路径即可: 优点:可设置丰富的EXC ...
- pl/sql developer导出数据到excel的方法
http://yedward.net/?id=92 问题说明:使用pl/sql developer导出数据到excel表格中是非常有必要的,一般的可能直接在导出的时候选择csv格式即可,因为该格式可以 ...
- php使用ajax导出CSV或者EXCEl(thinkphp)方法
首先我强烈推荐看到这篇文章的你将导出文件设置为csv格式的文件 实际测试导出csv文件的速度是excel文件的10几倍左右 首先我先介绍csv文件的导出的方法: 如果你单纯是在数据导出界面上通过用户点 ...
- 接口测试框架——第六篇-读Excel封装方法
谢谢@小麦苹果的提醒,才发现我借口测试少写了一个文件,今天给大家补上: common->service->excel_case_data.py # coding: utf-8 import ...
- PHP导出数据到excel的方法
很简单,看内容,不多说了: <?php //设置标题 $header[] = "ID"; $header[] = "订单"; $header[] = &q ...
- ASP.NET导出数据到Excel 实例介绍
ASP.NET导出数据到Excel 该方法只是把asp.net页面保存成html页面只是把后缀改为xlc不过excel可以读取,接下连我看看还有别的方式能导出数据,并利用模版生成. 下面是代码 新建 ...
- JQGrid导出Excel文件
系列索引 Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引 Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数.ColModel API.事件 ...
- BootStrap母版页布局.子页面布局.BootstrapTable.模态框.警告框.html导出tabl生成Excel.HTML生成柱图.饼图.时间控件中文版
如上就是很多后台管理系统的母版页布局. 左边一列模板.上面一列系统标识. 空白处充填子页面 以ASP.NET MVC为基础 引入bootstrap.js.bootstrap.css body: < ...
- asp.net中导出Excel的方法
一.asp.net中导出Excel的方法: 本文转载 在asp.net中导出Excel有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址输出在浏览器上:一种是将文件直接将文件输出 ...
随机推荐
- <数据结构基础学习>(一)数组
一.数组基础 1.数组,即把数据码成一排存放. 数组优点:快速查询. 数组最好应用于“索引有语意”的情况,但并非所有有语意的索引都适用于数组,数组也可以处理“索引没有语意”的情况. 2.增.删.改.查 ...
- Linux下VMware在更新完内核无法启动
该问题尚未解决,我已经换Oracle VM VirtualBox
- A1133. Splitting A Linked List
Given a singly linked list, you are supposed to rearrange its elements so that all the negative valu ...
- A1110. Complete Binary Tree
Given a tree, you are supposed to tell if it is a complete binary tree. Input Specification: Each in ...
- Linux列字符替换
假如存在file1.txt,其内容如下: aa bb cc dd ee ff gg hh 现将第一列(aa 和 ee)统一修改为mm 则需要输入命令行: awk '{$1="mm" ...
- bzoj 2002: [Hnoi2010]Bounce 弹飞绵羊(分块算法)
传送门 题意: 中文题意,不再赘述. 题解: 下午在补分块算法的相关知识,看到某大神博客推荐的这道题目,就试着做了做: TLE了一下午可还行: 我的思路: 将这 n 个点分成 sqrt(n) 块: i ...
- Codeforces Round #523 (Div. 2) D. TV Shows
传送门 https://www.cnblogs.com/violet-acmer/p/10005351.html 题意: 有n个节目,每个节目都有个开始时间和结束时间. 定义x,y分别为租电视需要的花 ...
- 用css巧妙实现移动端横向滑动展示功能
前言:记得以前处理移动端横向滑动展示都是去用js去解决的,要用js进行蛮多处理,要算li的宽度,然后还要用js设置ul盒子的宽度,又要设置最大滑动距离,最小滑动距离等等.......但是现在发现用cs ...
- node.js(基础四)_express基础
一.前言 本次内容主要包括: 1.express的基本用法 2.express中的静 ...
- redis主从复制配置(1)
我们来配置一个一主两从的服务,根据前面写的已经配置好的redis基础上进行主从配置 一:进入redis的配置目录 cd /usr/local/redis 创建下面3个目录,命令为:make -p /u ...