C# 之 下载EXCEL文件,自动用迅雷下载aspx
在浏览器中导出 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的更多相关文章
- 自动更新开奖数据的excel文件,供大家下载
自动更新开奖数据的excel文件,供大家下载 2010-03-14 20:22 228492人阅读打印来源:乐彩网 作者:eren 很多人拥有自制excel电子表格,常要更新最基本的开奖信息.如有多期 ...
- 前端调用后端接口下载excel文件的几种方式
今天有一个导出相应数据为excel表的需求.后端的接口返回一个数据流,一开始我用axios(ajax类库)调用接口,返回成功状态200,但是!但是浏览器没有自动下载excel表,当时觉得可能是ajax ...
- 在线读取Mongodb数据库下载EXCEL文件
版本:Mongodb2.4.8 通过页面下载Excel文件 jsp <%@ page language="java" contentType="text/html; ...
- JAVA web端JS下载excel文件
JSP代码如下: JSP端引入jquery.easyui.min.js库: <script type="text/javascript" src="<c:ur ...
- 前端下载excel文件功能的三种方法
1 从后端接收json数据,前端处理生成excel下载 JsonExportExcel的github地址:https://github.com/cuikangjie/JsonExportExcel 这 ...
- jsp下载excel文件
jsp下载excel文件的的实现方法很多,今天也遇到这个问题,乱敲了一阵,终于搞定了,记下来和朋友们分享吧. 假设需要下载excel文件的jsp页面名为:down.jsp 对应的后台action名为: ...
- angularJS通过post方法下载excel文件
最近工作中遇到,要使用angularJS的post方法来下载excel的情况.网上找到一个帖子:http://stackoverflow.com/questions/22447952/angularj ...
- NodeJs实现下载Excel文件
nodejs作为一门新的语言,报表功能也不是十分完善. (1).js-xlsx : 目前 Github 上 star 数量最多的处理 Excel 的库,支持解析多种格式表格XLSX / XLSM / ...
- ASP.NET MVC实现Excel文件的上传下载
在应用系统开发当中,文件的上传和下载是非常普遍的需求.在基于.NET的C/S架构的项目开发当中,有多种方案可以实现文件的上传和下载(httpwebrequest.webclient等),而且多采用异步 ...
随机推荐
- 外网zabbix-server使用主动模式监控公司内网windows服务器
外网zabbix-server使用主动模式监控公司内网windows服务器 1.Zabbix Agent active批量调整客户端为主动模式监控将Template OS Windows模板调整为主动 ...
- python学习第16天。
内置函数是在原本已经有的序列的基础上,再生成新的. List的方是修改原列表. 内置函数中大部分函数的返回值大部分都是迭代器.生成器. Sorted需要遍历操作,不是单纯的迭代,所以不生成迭代器. 一 ...
- shiro使用
web.xml配置 <filter> <filter-name>shiroFilter</filter-name> <filter-class>org. ...
- ant 安装 网址
1 http://www.testautomationguru.com/jmeter-continuous-performance-testing-part1/ 2 http://www.testau ...
- 信息摘要算法之二:SHA1算法分析及实现
SHA算法,即安全散列算法(Secure Hash Algorithm)是一种与MD5同源的数据加密算法,该算法经过加密专家多年来的发展和改进已日益完善,现在已成为公认的最安全的散列算法之一,并被广泛 ...
- 'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件
今天安装完MYSQL8.0的版本,根据课本的提示,在CMD里运行,出现了'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件.在网上搜了一下,他的解决方法是这样的: 1.设置一下环境变量 ...
- SQL Server 函数之日期格式化函数
SQL Server 函数之日期格式化函数 高文龙关注0人评论612人阅读2017-09-23 13:47:07 SQL Server 函数之日期格式化函数 对于一些经常写SQL Server执行语句 ...
- usrp-B210
sudo add-apt-repository ppa:ettusresearch/uhd sudo apt-get update sudo apt-get install libuhd-dev li ...
- 一个小时就能理解Java的NIO必须掌握这三大要素!
同步与阻塞 同步和异步是针对应用程序和内核的交互而言的. 同步:执行一个操作之后,进程触发IO操作并等待(阻塞)或者轮询的去查看IO的操作(非阻塞)是否完成,等待结果,然后才继续执行后续的操作. 异步 ...
- Allegro PCB Design GXL (legacy) 使用slide无法将走线推挤到焊盘的原因
Allegro PCB Design GXL (legacy) version 16.6-2015 启用slide命令之后,单击鼠标右键,取消“Enhanced Pad Entry”即可.