当前位置:编程学习 > C#/ASP.NET >>

asp.net 操作excel

Asp.Net使用com组件实现在excel中添加下拉列表和实现下拉列表的级联操作(不使用npoi插件) Excel ASP.NET --------------------编程问答-------------------- 你要asp.net操作excel不好搞啊,友情帮顶了

asp.net操作Excel总结
看下不知道有没有用
--------------------编程问答--------------------

这是我的mvc项目导出订单到excel
 public ActionResult DataTableToExcel()
        {

            string OpeOrder = Request.QueryString["Ord"];
            int OpeOrderStatus = Convert.ToInt32(Request.QueryString["Status"]);
            string OpeOrderMemName = Request.QueryString["Name"];
            string OpeOrderMemEmail = Request.QueryString["Email"];
           
            string StartTime = Request.QueryString["StartTime"];
            string EndTime = Request.QueryString["EndTime"];
            // 当前对话 
            System.Web.HttpContext curContext = System.Web.HttpContext.Current;
            IList<Order> Orders = null;

            //Orders = orderDao.SelectAllOrder();
            Orders = orderDao.SelectByTime(new Order { StartTime = StartTime, EndTime = EndTime });
            OrderHelper orderHelper = new OrderHelper();
            string MembersId = orderHelper.MemberIdsByOrder(Orders);

            IList<Member> members = memberDao.SelectByMemberOrderIds(MembersId);
            members = memberDao.SelectByMember(new Member { _Mem_UserName = OpeOrderMemName, _Mem_Email = OpeOrderMemEmail });

            MemberHelper memberHelper = new MemberHelper();
            string Ope_Ids = memberHelper.OperatorIdsByMember(members);
            IList<Operator> operates = operatorDao.SelectByMem_Ids(Ope_Ids);

            members = members.Join(operates, m => m.Mem_Ope_Id, o => o.Ope_Id, (m, o) => { m.Ope_Name = o.Ope_Name; return m; }).ToList();
            //先查询Member表,根据Mem_Id得到Ope_Id,然后根据Ope_Id查询tb_Operator表得到Ope_Name

            Orders = Orders.Join(members, o => o.Ord_Mem_Id, m => m.Mem_Id, (o, m) => { o.Ord_MemUserName = m.Mem_UserName; o.Ord_Mem_Email = m.Mem_Email; o.Ope_Name = m.Ope_Name; return o; }).ToList();

            string filename = DateTime.Now.Month + "_" + DateTime.Now.Day + "_" + DateTime.Now.Hour + "_" + DateTime.Now.Minute;
            byte[] str = null;

            curContext.Response.ContentType = "application/vnd.ms-excel";
            curContext.Response.ContentEncoding = System.Text.Encoding.UTF8;
            curContext.Response.Charset = "UTF-8";

            Response.AppendHeader("Content-Disposition", "attachment;filename=" + filename + ".xls");
            string _str = "";

            if (Orders.Count > 0)
            {
               
                _str = "<table cellspacing=\"0\" rules=\"all\" border=\"1\" style=\"border-collapse:collapse;\"><br/>";
                _str += "<tr><td>订单编号</td><td>订单金额</td><td>会员名字</td><td>会员邮箱</td><td>操作员</td><td>添加时间</td><td>订单状态</td></tr><br/>";
                foreach (var order in Orders)
                {
                    _str += "<tr><td>" + order.Ord_Id + "</td><td>" + order.Ord_TotalAmount + "</td><td>" + order.Ord_MemUserName + "</td><td>" + order.Ord_Mem_Email + "</td><td>" + order.Ope_Name + "</td><td>" + order.AddDate + "</td><td>" + (OrderStatus)order.Ord_Status + "</td></tr><br/>";
                }
                _str += "</table>";
                // 返回客户端 
            }
            else
            {
                _str = "<table cellspacing=\"0\" rules=\"all\" border=\"1\" style=\"border-collapse:collapse;\"><br/>";
                _str += "<tr><td>订单编号</td><td>订单金额</td><td>会员名字</td><td>会员邮箱</td><td>操作员</td><td>添加时间</td><td>订单状态</td></tr><br/>";
                _str += "</table>";
            }
            str = System.Text.Encoding.UTF8.GetBytes(_str.ToString());
            return File(str, "attachment;filename=" + filename + ".xls");
        }
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,