【第十七篇】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 = 0; 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 = 0; 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 "0":
                            s.CompletedStatus = "未完成";
                            break;
                        case "1":
                            s.CompletedStatus = "完成";
                            break;
                        case "2":
                            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
原文出处:http://www.cnblogs.com/kingdudu/p/4913250.html

---------------------------------------------------------------------------------------------------------

时间: 2024-08-23 15:56:02

【第十七篇】easyui-datagrid 导出Excel (在客户端能弹出下载框)的相关文章

easyui datagrid导出excel

[第十四篇]easyui datagrid导出excel <a class="btn btn-app" onclick="exportExcel()"><i class="fa fa-edit"></i>导出Excel</a> 贴下面的代码之前,我想说一下 我的数据是主外键关系,有多张表关联,所以在做数据的时候,发现很多问题,读取的时候,它会自动读取所有的数据. 当然这不能满足我导出之后的要求,我只

Jquery easyui datagrid 导出Excel

datagrid的扩展方法,用于将当前的数据生成excel需要的内容. 1 <script> 2 /** 3 Jquery easyui datagrid js导出excel 4 修改自extgrid导出excel 5 * allows for downloading of grid data (store) directly into excel 6 * Method: extracts data of gridPanel store, uses columnModel to constru

easyui导出excel无法弹出下载框的解决办法

之前用ajax做的,代码如下(ActionUrl为一般处理程序ashx的路径): $.ajax({ url: ActionUrl + '?action=export&ID=' + $('#fm_ID').val(), dataType: 'json', success: function (jsonstr) { //top.art.dialog.tips('导出成功!'); } }); 没办法弹出下载框. 直接浏览器地址栏输入相关页面地址并打开可以弹出下载框下载,考虑可能是iframe的缘故.

Java POI 导出EXCEL经典实现 Java导出Excel弹出下载框

在web开发中,有一个经典的功能,就是数据的导入导出.特别是数据的导出,在生产管理或者财务系统中用的非常普遍,因为这些系统经常要做一些报表打印的工作.而数据导出的格式一般是EXCEL或者PDF,我这里就用两篇文章分别给大家介绍下.(注意,我们这里说的数据导出可不是数据库中的数据导出!么误会啦^_^) 呵呵,首先我们来导出EXCEL格式的文件吧.现在主流的操作Excel文件的开源工具有很多,用得比较多的就是Apache的POI及JExcelAPI.这里我们用Apache POI!我们先去Apach

JavaWeb项目导出Excel文件并弹出下载框

引言 在Java Web开发中经常涉及到报表,最近做的项目中需要实现将数据库中的数据显示为表格,并且实现导出为Excel文件的功能. 相关jar包 使用POI可以很好的解决Excel的导入和导出的问题,POI下载地址: poi-3.6-20091214.jar 关键代码 首先导入上述jar包. 在生成excel时一般数据源形式为一个List,下面把生成Excel格式的代码贴出来: /** * 以下为生成Excel操作 */ // 1.创建一个workbook,对应一个Excel文件 HSSFWo

springmvc导出excel并弹出下载框

加入对应的jar包,包括springmvc,poi的, spring jar包在此不列举出来,主要是poi包,如下图所示 下载地址:http://download.csdn.net/download/huawei2010_2011_2012/5034041,或者搜poi3.9 实体类: public class Project { private Integer id; private String name; private String technology;//所用技术 private S

SpringMVC中导出Excel文件,关于弹出一个选择框,选择导出Excel文件的路径项目细节

最近项目上需要写一个导出excel功能,在开始的时候用ajax发送请求,不弹出导出路径选择框,后来在网上搜了一些资料,找到了问题所在,做一下总结: 前端页面:thymeleaf 后端语言:java 导出Excel:POI模式 1.ajax请求只是个“字符型”的请求,即请求的内容是以文本类型存放的.文件的下载是以二进制形式进行的,ajax没法解析后台返回的文件流,所以无法处理二进制流response输出来下载文件.将ajax请求改为loaction.href的形式发送请求,浏览器是可以识别二进制的

【第十四篇】easyui datagrid导出excel

<a class="btn btn-app" onclick="exportExcel()"><i class="fa fa-edit"></i>导出Excel</a> 贴下面的代码之前,我想说一下 我的数据是主外键关系,有多张表关联,所以在做数据的时候,发现很多问题,读取的时候,它会自动读取所有的数据. 当然这不能满足我导出之后的要求,我只需要导出我要的字段即可,所以我进行了数据处理. //导出E

easyui datagrid 导出excel

本片文章是介绍如何用ajax的方式将easyui中的datagrid数据导出到excel中. 声明:该代码是在参考前人的代码写出来的,并非我原创,我只是新增了些功能. 新增部分: 1. 对于列是枚举列的可以设置枚举值,导出时会自动替换列中的枚举值,详细见用例代码. 2. 新增导出时不导出首列或末列指定个数的列,详细接用例代码. 下面是插件源码: /** Jquery easyui datagrid js导出excel 修改自extgrid导出excel * allows for download