【第十七篇】easyui-datagrid 导出Excel (在客户端能弹出下载框)
//导出Excel
function exportExcel(obj) {
var SaleOrderNo = $("#SaleOrderNo").val().trim();
var FoctoryNo = $("#FoctoryNo").val().trim();
var StyleNo = $("#StyleNo").val().trim(); var href = "/Admin/Sale/ExportPressingExcel?1=1";
if (SaleOrderNo == "" && FoctoryNo == "" && StyleNo == "" ) {
href = "/Admin/Sale/ExportPressingExcel";
} else if (SaleOrderNo != "") {
href += "&SaleOrderNo=" + SaleOrderNo;
} else if (FoctoryNo != "") {
href += "&FoctoryNo=" + FoctoryNo;
} else if (StyleNo != "") {
href += "&StyleNo=" + StyleNo;
}
obj.href = href;
}
<a class="btn btn-app" onclick="exportExcel(this)"><i class="fa fa-edit"></i>导出Excel</a>
/// <summary>
/// 加工单导出Excel
/// </summary>
/// <returns></returns>
public ActionResult ExportPressingExcel()
{
string FoctoryNo = Request.Params["FoctoryNo"];
string StyleNo = Request.Params["StyleNo"];
string SaleOrderNo = Request.Params["SaleOrderNo"]; List<Factory> fList = fService.GetAllFactory();
List<Factory> aList = new List<Factory>();
if (fList != null)
{
for (int i = ; i < fList.Count; i++)
{
Factory f = new Factory();
f.FactoryId = fList[i].FactoryId;
f.FactoryName = fList[i].FactoryName;
f.Tel = fList[i].Tel;
f.Mobile = fList[i].Mobile;
f.MailBox = fList[i].MailBox;
f.Addr = fList[i].Addr; aList.Add(f);
}
} List<Processing> pList = pService.GetExcelProcessing(FoctoryNo, StyleNo, SaleOrderNo);
List<Processing> rList = new List<Processing>();
if (pList != null)
{
for (int i = ; i < pList.Count; i++)
{
Processing s = new Processing();
s.ProcessingId = pList[i].ProcessingId;
s.SaleOrderNo = pList[i].SaleOrderNo;
s.StoneOutNo = pList[i].StoneOutNo;
s.FactoryId = pList[i].FactoryId;
s.ReceiveDate = pList[i].ReceiveDate;
s.CustomerManager = pList[i].CustomerManager;
s.FoctoryUser = pList[i].FoctoryUser;
s.FoctoryNo = pList[i].FoctoryNo;
s.StyleNo = pList[i].StyleNo;
s.CustomerSc = pList[i].CustomerSc;
s.Material = pList[i].Material;
s.Requirement = pList[i].Requirement;
s.SizeJ = pList[i].SizeJ;
switch (pList[i].CompletedStatus)
{
case "":
s.CompletedStatus = "未完成";
break;
case "":
s.CompletedStatus = "完成";
break;
case "":
s.CompletedStatus = "取消";
break;
default:
s.CompletedStatus = "未完成";
break;
} rList.Add(s);
}
} DataTable table = new DataTable();
table.Columns.Add(new DataColumn("工厂单号"));
table.Columns.Add(new DataColumn("订单编号"));
table.Columns.Add(new DataColumn("加工厂"));
table.Columns.Add(new DataColumn("送厂日期"));
table.Columns.Add(new DataColumn("出库单号"));
table.Columns.Add(new DataColumn("客户经理"));
table.Columns.Add(new DataColumn("工厂接收人"));
table.Columns.Add(new DataColumn("款式编号"));
table.Columns.Add(new DataColumn("客户手寸"));
table.Columns.Add(new DataColumn("材质"));
table.Columns.Add(new DataColumn("刻字要求"));
table.Columns.Add(new DataColumn("金重"));
table.Columns.Add(new DataColumn("状态")); foreach (var o in rList)
{
DataRow row = table.NewRow();
row["工厂单号"] = o.FoctoryNo;
row["订单编号"] = o.SaleOrderNo;
foreach (var item in aList)
{
if (o.FactoryId == item.FactoryId)
{
row["加工厂"] = item.FactoryName;
}
}
row["送厂日期"] = o.ReceiveDate;
row["出库单号"] = o.StoneOutNo;
row["客户经理"] = o.CustomerManager;
row["工厂接收人"] = o.FoctoryUser;
row["款式编号"] = o.StyleNo;
row["客户手寸"] = o.CustomerSc;
row["材质"] = o.Material;
row["刻字要求"] = o.Requirement;
row["金重"] = o.SizeJ;
row["状态"] = o.CompletedStatus;
table.Rows.Add(row);
} MemoryStream MemoryStream = new MemoryStream();
HSSFWorkbook work = ExcelHelper.CreateExcelByNPOI(table);
work.Write(MemoryStream);
return File(MemoryStream.GetBuffer(), "application/ms-excel", "加工单-" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls");
}

---------------------------------------------------------------------------------------------------------
转载请记得说明作者和出处哦-.-
作者:KingDuDu
原文出处:https://www.cnblogs.com/kingdudu/articles/4913250.html
---------------------------------------------------------------------------------------------------------
【第十七篇】easyui-datagrid 导出Excel (在客户端能弹出下载框)的更多相关文章
- easyui datagrid导出excel
[第十四篇]easyui datagrid导出excel <a class="btn btn-app" onclick="exportExcel()" ...
- JAVA导出excel 直接弹出下载框
转自:https://blog.csdn.net/qq_38423105/article/details/80782283 效果展示: 1.首先准备jar包 <dependency> ...
- 【第十四篇】easyui datagrid导出excel
<a class="btn btn-app" onclick="exportExcel()"><i class="fa fa-edi ...
- Jquery easyui datagrid 导出Excel
From:http://www.cnblogs.com/weiqt/articles/4022399.html datagrid的扩展方法,用于将当前的数据生成excel需要的内容. 1 <sc ...
- Springmvc和poi3.9导出excel并弹出下载框
Springmvc 和 poi3.9 用java程序从数据库导出数据到excel(在博客园的第一篇原创博客) @RequestMapping(value = "/importexcel.ht ...
- POI文件导出至EXCEL,并弹出下载框
相关参考帖子 : [1]http://www.tuicool.com/articles/MnqeUr [2]http://www.oschina.net/question/253469_51638?f ...
- springmvc导出excel并弹出下载框
https://my.oschina.net/aptx4869/blog/298507
- Java POI 导出EXCEL经典实现 Java导出Excel弹出下载框(转载)
https://blog.csdn.net/evangel_z/article/details/7332535
- Java浏览器弹出下载框,多个文件导出压缩包
项目里一直有这个功能,也一直没怎么注意,今天研究了一下 依据逻辑往下走: 首先是要下载的ajax的Java方法,只有返回值需要设定一下,其他的不用管: Map<String, Object> ...
随机推荐
- bootstrape select使用小结
看看上面的效果是bootstrape使用的效果.虽然不是很好看,但是符合bootstrape的风格.来看看普通的select的样式 bootstrape下的select和普通select在bootst ...
- 测试自动化:java+selenium3 UI自动化(2) - 启动Firefox
1. selenium和浏览器 基于selenium的这套自动化体系,其实现关键就在于对于各浏览器的顺畅操作. 事实上当selenium刚开始起家的时候,他使用的还是javascript注入的方式来驱 ...
- 面试java_后端面经_5
情话部分: 小姐姐:为什么有很多人在感情中付出很多,却得不到想要的结果? 你答:我听过一个这样的故事:讲的是蚯蚓一家人,有一天,蚯蚓爸爸特别无聊,就把自己切成了俩段愉快的打羽毛球去了,蚯蚓妈妈见状,把 ...
- 多线程之NSOperation
关于多线程会有一系列如下:多线程之概念解析 多线程之pthread, NSThread, NSOperation, GCD 多线程之NSThread 多线程之NSOperation 多线程之GCD
- MySQL基础(用的贼鸡儿多)
整理有点乱,业余也玩玩系统,经常碰见这些玩意,有点烦,老是记不住 MySQL 基础语法 一.连接 MYSQL格式: mysql -h 主机地址 -u 用户名 -p 用户密码. 1.连接到本机上的 MY ...
- 逆向破解之160个CrackMe —— 018
CrackMe —— 018 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- ElasticSearch:常用的基础查询与过滤器
match_all(获取所有索引文档) quert_string(获取包含指定关键字文档) 默认查询_all字段,_all字段是由所有字段组合而成的,可以通过description:关键字,获取通过请 ...
- 三维动画形变算法(Linear rotation-invariant coordinates和As-Rigid-As-Possible)
在三维网格形变算法中,个人比较喜欢下面两个算法,算法的效果都比较不错, 不同的是文章[Lipman et al. 2005]算法对控制点平移不太敏感.下面分别介绍这两个算法: 文章[Lipman et ...
- Unity/C#基础复习(5) 之 浅析观察者、中介者模式在游戏中的应用与delegate原理
参考资料 [1] <Unity 3D脚本编程 使用C#语言开发跨平台游戏>陈嘉栋著 [2] @张子阳[C#中的委托和事件 - Part.1] http://www.tracefact.ne ...
- ZooKeeper异步调用命令
在ZooKeeper中,所有的同步调用命令,都会有一个相应的异步调用方法.异步调用能在一个单独线程中同时提交更多的命令,也能在一定程度上简化代码实现. 1 异步create方法 如创建zNode的命令 ...