【第十七篇】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> ...
随机推荐
- 洛谷 P1939 矩阵加速(数列)
题意简述 \(a[1]=a[2]=a[3]=1\) \(a[x]=a[x−3]+a[x−1](x>3)\) 求a数列的第n项对1000000007取余的值. 题解思路 矩阵加速 设\[ F=\b ...
- Stream和方法引用
1.Stream流 1.for循环带来的弊端 在jdk8中,lambda专注于做什么,而不是怎么做 for循环的语法就是怎么做 for循环的循环体才是做什么 遍历是指每一个元素逐一进行处理,而并不是从 ...
- 剑指offer总结一:字符、数字重复问题
问题1:字符串中第一个不重复的字符 题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是" ...
- Example With JdbcDaoSupport
By extended the JdbcDaoSupport, set the datasource and JdbcTemplate in your class is no longer requi ...
- MyBatis的flushCache和useCache的使用注意
之前在利用MyBatis做开发的时候,遇到了一个问题,使用select配置的时候发现前后两次的结果是一样的,并且使用statementType="CALLABLE"配置,然后在配置 ...
- js中更改this指向 以及回顾bind、call和apply
1.更改this指向 方法1:对this进行保存 var _this = this; 例: var _this = this; document.onclick = fu ...
- C笔记_C语言环境、编译、预处理
1.环境 gcc -v //查看环境变量 gcc 同 g++ gcc main.c -o main.exe gcc main.c //默认生成a.exe 2.编译 预处理: gcc -E main ...
- cookies和sessionstorage和localstorage区别
相同点:客户端都会存储 不同点 不同点 存储大小 有效时间 数据与服务器交互方式 cookies <=4K 在设置cookie过期之前一直有效(无论窗口浏览器是否关闭) 正常情况下,cookie ...
- PHP 与 MySQL 相关操作
一.MySQL基操 •MySQL启动 注意:MySQL不能直接通过 mysql.exe 命令启动 MySQL客户端访问服务端需要寻找匹配:连接认证 连接:IP和端口确定,如果是本地都可以忽略 -h 主 ...
- [Python] Django框架入门3——深入视图
说明: 本文主要深入了解视图(views.py),涉及路由配置.定义视图.Request对象.Response对象.状态保持等. 一.路由配置 1.配置位置(settings.py 的 ROOT_UR ...