【第十七篇】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> ...
随机推荐
- Python 命令行之旅 —— 初探 argparse
『讲解开源项目系列』启动--让对开源项目感兴趣的人不再畏惧.让开源项目的发起者不再孤单.跟着我们的文章,你会发现编程的乐趣.使用和发现参与开源项目如此简单.欢迎联系我们给我们投稿,让更多人爱上开源.贡 ...
- API开发之接口安全(三)----sign有效时间
之前生成的sign和校验sign我们已经完全掌握了.但是仅仅凭借这样的sign是无法满足我们的需求的,如果一个黑客通过抓包抓到你的数据 他可以去修改你的header为这样的 body为那样的 也是可以 ...
- 【KakaJSON手册】03_JSON转Model_03_key处理
有时候,服务器返回的JSON数据的key跟客户端模型的属性名可能不一致,比如客户端遵守驼峰规范叫做nickName,而服务器端返回的JSON可能叫做nick_name.这时候为了保证数据转换成功,就需 ...
- 《白帽子讲web安全》——吴瀚清 阅读笔记
浏览器安全 同源策略:浏览器的同源策略限制了不同来源的“document”或脚本,对当前的“document”读取或设置某些属性.是浏览器安全的基础,即限制不同域的网址脚本交互 <scr ...
- 跨库数据迁移利器 —— Sqoop
一.Sqoop 基本命令 1. 查看所有命令 # sqoop help 2. 查看某条命令的具体使用方法 # sqoop help 命令名 二.Sqoop 与 MySQL 1. 查询MySQL所有数据 ...
- 设计模式(C#)——12责任链模式
推荐阅读: 我的CSDN 我的博客园 QQ群:704621321 前言 在开发游戏过程中,当玩家合成一种道具的时候,对于不痛的道具,需要的碎片个数,类型是不同的.用传统的写法,就是 ...
- 解决vs2013中MVC/WebApi不显示添加区域菜单选项
在构建项目过程中,安装各种package或者卸载的过程中,导致了添加区域菜单选项不显示,导致后面无法添加区域. 在网上查找各种资料,发现原来是工程文件(项目名.csproj)缺少mvc引用. 工程文件 ...
- hdu-6701 Make Rounddog Happy
题目链接 Make Rounddog Happy Problem Description Rounddog always has an array a1,a2,⋯,an in his right po ...
- 1026-windy数+数位DP+记忆化搜索
1026: [SCOI2009]windy数 题意:数位DP模板题: 目前只理解了记忆化搜索,就想练练手, ------给递推写法留一个位子 ------ 注意这道题要判断前导0的情况,1 )可以加一 ...
- Atcoder C - +/- Rectangle(思维+构造)
题目链接:http://agc016.contest.atcoder.jp/tasks/agc016_c 题解:挺简单的构造,很容易想到的构造方法就是(h*w)的小矩阵里其他值赋值为1,最后一个赋值为 ...