在浏览器中导出 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 > &&li!=null)
{
MemoryStream ms = new MemoryStream();
IWorkbook workbook = new HSSFWorkbook();
ISheet sheet = workbook.CreateSheet();
ICellStyle style1 = workbook.CreateCellStyle();
IFont font = workbook.CreateFont();
font.FontHeightInPoints = ;
style1.SetFont(font);
sheet.DefaultRowHeight = * ; for (int i = ; i < ; i++)
{
if (i == )
sheet.SetColumnWidth(i, * );
else
sheet.SetColumnWidth(i, * );
sheet.SetDefaultColumnStyle(i, style1);
}
IRow row1 = sheet.CreateRow();
ICell cell = row1.CreateCell();
cell.SetCellValue(oid+"_状态详细");
ICellStyle style2 = workbook.CreateCellStyle();
style2.Alignment = HorizontalAlignment.CENTER;
IFont font2 = workbook.CreateFont();
font2.FontHeight = * ;
style2.SetFont(font2);
cell.CellStyle = style2;
sheet.AddMergedRegion(new CellRangeAddress(, , , ));
IRow headerRow = sheet.CreateRow();
headerRow.CreateCell().SetCellValue("产品编号");
headerRow.CreateCell().SetCellValue("下单时间");
headerRow.CreateCell().SetCellValue("原型验收时间");
headerRow.CreateCell().SetCellValue("首件验收时间");
headerRow.CreateCell().SetCellValue("组装验收时间");
headerRow.CreateCell().SetCellValue("厂家出库时间");
headerRow.CreateCell().SetCellValue("现场入库时间");
headerRow.CreateCell().SetCellValue("领用入库时间");
headerRow.CreateCell().SetCellValue("开箱验收时间");
headerRow.CreateCell().SetCellValue("安装完成时间");
headerRow.CreateCell().SetCellValue("安装验收时间"); int j = ;
foreach (SonOrders so in li)
{
IRow dataRow = sheet.CreateRow(j++);
dataRow.CreateCell().SetCellValue(so.SProductNumber);
dataRow.CreateCell().SetCellValue(GetTimeS("下单时间", so.SProductNumber).ToString());
dataRow.CreateCell().SetCellValue(GetTimeS("原型验收时间", so.SProductNumber).ToString());
dataRow.CreateCell().SetCellValue(GetTimeS("首件验收时间", so.SProductNumber).ToString());
dataRow.CreateCell().SetCellValue(GetTimeS("组装验收时间", so.SProductNumber).ToString());
dataRow.CreateCell().SetCellValue(GetTimeS("厂家出库时间", so.SProductNumber).ToString());
dataRow.CreateCell().SetCellValue(GetTimeS("现场入库时间", so.SProductNumber).ToString());
dataRow.CreateCell().SetCellValue(GetTimeS("领用入库时间", so.SProductNumber).ToString());
dataRow.CreateCell().SetCellValue(GetTimeS("开箱验收时间", so.SProductNumber).ToString());
dataRow.CreateCell().SetCellValue(GetTimeS("安装完成时间", so.SProductNumber).ToString());
dataRow.CreateCell().SetCellValue(GetTimeS("安装验收时间", so.SProductNumber).ToString());
}
workbook.Write(ms); ms.Flush();
ms.Position = ; 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();
}
}

C# 之 下载EXCEL文件,自动用迅雷下载aspx的更多相关文章

  1. 自动更新开奖数据的excel文件,供大家下载

    自动更新开奖数据的excel文件,供大家下载 2010-03-14 20:22 228492人阅读打印来源:乐彩网 作者:eren 很多人拥有自制excel电子表格,常要更新最基本的开奖信息.如有多期 ...

  2. 前端调用后端接口下载excel文件的几种方式

    今天有一个导出相应数据为excel表的需求.后端的接口返回一个数据流,一开始我用axios(ajax类库)调用接口,返回成功状态200,但是!但是浏览器没有自动下载excel表,当时觉得可能是ajax ...

  3. 在线读取Mongodb数据库下载EXCEL文件

    版本:Mongodb2.4.8 通过页面下载Excel文件 jsp <%@ page language="java" contentType="text/html; ...

  4. JAVA web端JS下载excel文件

    JSP代码如下: JSP端引入jquery.easyui.min.js库: <script type="text/javascript" src="<c:ur ...

  5. 前端下载excel文件功能的三种方法

    1 从后端接收json数据,前端处理生成excel下载 JsonExportExcel的github地址:https://github.com/cuikangjie/JsonExportExcel 这 ...

  6. jsp下载excel文件

    jsp下载excel文件的的实现方法很多,今天也遇到这个问题,乱敲了一阵,终于搞定了,记下来和朋友们分享吧. 假设需要下载excel文件的jsp页面名为:down.jsp 对应的后台action名为: ...

  7. angularJS通过post方法下载excel文件

    最近工作中遇到,要使用angularJS的post方法来下载excel的情况.网上找到一个帖子:http://stackoverflow.com/questions/22447952/angularj ...

  8. NodeJs实现下载Excel文件

    nodejs作为一门新的语言,报表功能也不是十分完善. (1).js-xlsx : 目前 Github 上 star 数量最多的处理 Excel 的库,支持解析多种格式表格XLSX / XLSM / ...

  9. ASP.NET MVC实现Excel文件的上传下载

    在应用系统开发当中,文件的上传和下载是非常普遍的需求.在基于.NET的C/S架构的项目开发当中,有多种方案可以实现文件的上传和下载(httpwebrequest.webclient等),而且多采用异步 ...

随机推荐

  1. hibernate学习笔记第七天:二级缓存和session管理

    二级缓存配置 1.导入ehcache对应的三个jar包 ehcache/*.jar 2.配置hibernate使用二级缓存 2.1设置当前环境开始二级缓存的使用 <property name=& ...

  2. epoll机制详解

    epoll机制详解 大牛的详解 epoll详解 什么是epoll? epoll是为处理大批量句柄而作了改进的poll, 是性能最好的多路I/O就绪通知方法; 只有三个系统调用: epoll_creat ...

  3. 认证 (authentication) 和授权 (authorization) 的区别

    authorization 授权 authentication 身份认证 用户认证流程: 1.用户使用username和password登录 2.系统验证这个password对于该username是正 ...

  4. HTML中添加音乐video embed audio

    做H5页面时需要添加背景音乐,方法如下 方式一:<video controls="" autoplay="" name="media" ...

  5. sqlserver2008r2还原完整备份和差异备份及自动删除过期备份

    本文主要内容: 还原完整和差异备份 删除超过1个月的备份 注:保证SQL Server代理服务启动,并把服务设置为自动启动 完整备份和差异备份还原原理: 差异备份是完整备份的补充,只备份上次完整备份后 ...

  6. chan array初始化

    package main import "fmt" func run() { chann[0] <- 1 } var chann = make([]chan int, 2) ...

  7. ActiveMQ在Windows下的安装与启动(懒人专属)

    其实这些ActiveMQ官网都有,但是如果你懒得看官网,那就直接看这吧! 1. 官网下载最新的ActiveMQ安装包 apache-activemq-x.x.x-bin.zip并解压   2.进入安装 ...

  8. 安装snap及snap常安装软件

    文章链接:https://blog.csdn.net/laomd/article/details/80710451 一.snap简介 什么是snap,snap是一种全新的软件包管理方式,它类似一个容器 ...

  9. 协程,twisted

    最原始的请求url_list=[ 'https://www.cnblogs.com/yunxintryyoubest/category/1338759.html', 'https://www.cnbl ...

  10. Sql 08数据库还原数据库时一直提示数据库被占用

    直接试试这个sql语句吧 ALTER DATABASE [datebase] SET OFFLINE WITH ROLLBACK IMMEDIATE ALTER database [datebase] ...