zoukankan      html  css  js  c++  java
  • 解决:下载EXCEL文件,自动用迅雷下载aspx

    解决:下载EXCEL文件,自动用迅雷下载aspx

    if
    (Request.QueryString["id"] != null && !string.IsNullOrEmpty(Request.QueryString["id"].ToString())) { if (Request.QueryString["oid"] != null && !string.IsNullOrEmpty(Request.QueryString["oid"].ToString())) { id = Request.QueryString["id"].ToString(); oid = Request.QueryString["oid"].ToString(); string sqlWhere = string.Format("PProductNumber='{0}' and OrdersNumber='{1}'", id, oid); List<SonOrders> li= _SonOrdersManager.GetOrdersLists(sqlWhere); if (li.Count > 0&&li!=null) { MemoryStream ms = new MemoryStream(); IWorkbook workbook = new HSSFWorkbook(); ISheet sheet = workbook.CreateSheet(); ICellStyle style1 = workbook.CreateCellStyle(); IFont font = workbook.CreateFont(); font.FontHeightInPoints = 11; style1.SetFont(font); sheet.DefaultRowHeight = 25 * 20; for (int i = 0; i < 9; i++) { if (i == 0) sheet.SetColumnWidth(i,28 * 256); else sheet.SetColumnWidth(i, 23 * 256); sheet.SetDefaultColumnStyle(i, style1); } IRow row1 = sheet.CreateRow(0); ICell cell = row1.CreateCell(0); cell.SetCellValue(oid+"_状态详细"); ICellStyle style2 = workbook.CreateCellStyle(); style2.Alignment = HorizontalAlignment.CENTER; IFont font2 = workbook.CreateFont(); font2.FontHeight = 20 * 20; style2.SetFont(font2); cell.CellStyle = style2; sheet.AddMergedRegion(new CellRangeAddress(0, 0, 0, 7)); IRow headerRow = sheet.CreateRow(1); headerRow.CreateCell(0).SetCellValue("产品编号"); headerRow.CreateCell(1).SetCellValue("下单时间"); headerRow.CreateCell(2).SetCellValue("原型验收时间"); headerRow.CreateCell(3).SetCellValue("首件验收时间"); headerRow.CreateCell(4).SetCellValue("组装验收时间"); headerRow.CreateCell(5).SetCellValue("厂家出库时间"); headerRow.CreateCell(6).SetCellValue("现场入库时间"); headerRow.CreateCell(7).SetCellValue("领用入库时间"); headerRow.CreateCell(8).SetCellValue("开箱验收时间"); headerRow.CreateCell(9).SetCellValue("安装完成时间"); headerRow.CreateCell(10).SetCellValue("安装验收时间"); int j = 2; foreach (SonOrders so in li) { IRow dataRow = sheet.CreateRow(j++); dataRow.CreateCell(0).SetCellValue(so.SProductNumber); dataRow.CreateCell(1).SetCellValue(GetTimeS("下单时间", so.SProductNumber).ToString()); dataRow.CreateCell(2).SetCellValue(GetTimeS("原型验收时间", so.SProductNumber).ToString()); dataRow.CreateCell(3).SetCellValue(GetTimeS("首件验收时间", so.SProductNumber).ToString()); dataRow.CreateCell(4).SetCellValue(GetTimeS("组装验收时间", so.SProductNumber).ToString()); dataRow.CreateCell(5).SetCellValue(GetTimeS("厂家出库时间", so.SProductNumber).ToString()); dataRow.CreateCell(6).SetCellValue(GetTimeS("现场入库时间", so.SProductNumber).ToString()); dataRow.CreateCell(7).SetCellValue(GetTimeS("领用入库时间", so.SProductNumber).ToString()); dataRow.CreateCell(8).SetCellValue(GetTimeS("开箱验收时间", so.SProductNumber).ToString()); dataRow.CreateCell(9).SetCellValue(GetTimeS("安装完成时间", so.SProductNumber).ToString()); dataRow.CreateCell(10).SetCellValue(GetTimeS("安装验收时间", so.SProductNumber).ToString()); } workbook.Write(ms); ms.Flush(); ms.Position = 0; try { string[] files = Directory.GetFiles(System.AppDomain.CurrentDomain.BaseDirectory + "excels/"); foreach (string file in files) { File.Delete(file); } } catch (Exception exx) { Response.Write(exx.Message.ToString()); } string pname = "状态详细_" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".xls"; NpoiHelper.SaveToFile(ms, System.AppDomain.CurrentDomain.BaseDirectory + "excels/" + pname); Response.Redirect("~/excels/" + pname, false); Response.Clear(); // Response.Clear(); // Response.ClearHeaders(); // Response.Buffer = false; // Response.ContentType = "application/octet-stream"; // if (Request.Browser.Browser == "Firefox") // System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + oid + "_状态详细.xls"); //else // System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(oid + "_状态详细.xls", System.Text.Encoding.UTF8)); // System.Web.HttpContext.Current.Response.AppendHeader("Content-Length", ms.Length.ToString()); // System.Web.HttpContext.Current.Response.BinaryWrite(ms.GetBuffer()); // System.Web.HttpContext.Current.Response.Flush(); // System.Web.HttpContext.Current.Response.End(); } }
  • 相关阅读:
    JavaScript进阶系列06,事件委托
    JavaScript进阶系列05,事件的执行时机, 使用addEventListener为元素同时注册多个事件,事件参数
    JavaScript进阶系列04,函数参数个数不确定情况下的解决方案
    JavaScript进阶系列03,通过硬编码、工厂模式、构造函数创建JavaScript对象
    JavaScript进阶系列02,函数作为参数以及在数组中的应用
    JavaScript进阶系列01,函数的声明,函数参数,函数闭包
    委托、Lambda表达式、事件系列07,使用EventHandler委托
    委托、Lambda表达式、事件系列06,使用Action实现观察者模式,体验委托和事件的区别
    委托、Lambda表达式、事件系列05,Action委托与闭包
    委托、Lambda表达式、事件系列04,委托链是怎样形成的, 多播委托, 调用委托链方法,委托链异常处理
  • 原文地址:https://www.cnblogs.com/w519/p/4228630.html
Copyright © 2011-2022 走看看