在线等,excel导出问题
帮忙看看,什么问题,服务器已经安装了office了。--------------------编程问答-------------------- --------------------编程问答-------------------- 参考http://www.cnblogs.com/qxw0816/archive/2011/05/26/2058986.html
--------------------编程问答--------------------
建议不要用office组件来导出,配置复杂,安全性不高,
你可以考虑用NPOI组件 --------------------编程问答--------------------
这个方法已经用过了,还是不行,本来其他的装上就可以,不知道怎么这台服务器装上却不行。 --------------------编程问答--------------------
参考http://www.cnblogs.com/qxw0816/archive/2011/05/26/2058986.html
建议不要用office组件来导出,配置复杂,安全性不高,
你可以考虑用NPOI组件
这个方法已经用过了,还是不行,本来其他的装上就可以,不知道怎么这台服务器装上却不行。
估计还缺少配置把, --------------------编程问答-------------------- Refer:
http://www.cnblogs.com/insus/archive/2013/01/16/2862121.html
http://www.cnblogs.com/insus/articles/1400266.html
下面链接是图片导出至Excel:http://www.cnblogs.com/insus/archive/2013/05/14/3077826.html --------------------编程问答--------------------
--------------------编程问答-------------------- 建议还是使用第三方的导出控件吧
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