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