前台  js

  <script>//导出function Export() {//传递参数var data="paramer";var config = $.extend(true, { method: 'post' }, "/SuppUpd/SetDPGSL");var $iframe = $('<iframe id="down-file-iframe" />');var $form = $('<form target="down-file-iframe" method="' + config.method + '" />');$form.attr('action', "/SuppUpd/SetDPGSL");$form.append('<input type="hidden"  name="datalist" SN=\'' + data + '\' />');$iframe.append($form);$(document.body).append($iframe);$form[0].submit();$iframe.remove();}</script>

  

后台 Controller

        /// <summary>/// 下载供应商送货单,并将供应商代码写入模板/// </summary>/// <param name="SN"></param>/// <returns></returns>public JsonResult SetDPGSL(string SN){try{//npoi 导出excelstring mubUrl = @"\App_Data\SuppUpd.xls";new ExcelHelper().ExportGetSuppUpdModel(LoginUser.UserID, mubUrl, HttpContext, "送货信息模板" + ".xls");var result = new{result = 1,Msg = "下载成功"};var msg = "供应商送货单模板下载:" + "下载成功:" + LoginUser.UserID;SetAddLog(ServicePageSMSE.SuppUpd, OperateType.imp, msg);return Json(result);}catch (Exception){var result = new{result = 0,Msg = "下载失败"};return Json(result);}}

  

具体执行方法

        /// <summary>/// 下载供应商送货单,并将供应商代码写入模板固定位置/// </summary>/// <param name="DPG1S1">供应商代码</param> /// <param name="mubUrl">模板地址</param>/// <param name="context"></param>/// <param name="fileName">保存文件名称</param> public void ExportGetSuppUpdModel(string DPG1S1, string mubUrl, HttpContextBase context, string fileName){string road = context.Server.MapPath(mubUrl);FileInfo s = new FileInfo(road);using (FileStream stream = new FileStream(road, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)){#region  Excel样式HSSFWorkbook workbook = new HSSFWorkbook(stream);HSSFSheet sheet = (HSSFSheet)workbook.GetSheetAt(0);workbook.SetSheetName(0, "模板");ICellStyle style = workbook.CreateCellStyle();NPOI.SS.UserModel.IFont font = workbook.CreateFont();font.IsBold = true;font.FontName = "宋体";font.FontHeightInPoints = 13;style.WrapText = true;style.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;style.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;style.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;style.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;style.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;//居中style.VerticalAlignment = VerticalAlignment.Center;//垂直居中style.SetFont(font);//HEAD 样式#endregionIRow row;row = sheet.GetRow(0);row.GetCell(8).SetCellValue(DPG1S1);using (MemoryStream ms = new MemoryStream()){workbook.Write(ms);ms.Position = 0;if (context.Request.Browser.Browser == "IE")fileName = HttpUtility.UrlEncode(fileName);context.Response.AddHeader("Content-Disposition", "attachment;fileName=" + fileName);context.Response.BinaryWrite(ms.ToArray());}}}

  

转载于:https://www.cnblogs.com/lhlong/p/6874104.html

js 下载excel相关推荐

  1. java使用jxl生成excel表格,jsp使用js下载excel文件xls

    java使用jxl生成excel表格,jsp使用js下载excel文件 后端代码 maven jar包 主体代码逻辑 引入的jar包 具体代码段 重点详解 表头和表格内容两种格式 直接将 HttpSe ...

  2. js下载excel表格,下载pdf

    常见我们会遇到下载一个excel表格模板或者下载一个可以查看的PDF文档. 下载excel表格或者下载一个pdf文档,主要是通过两点来实现的: 1- 在webpack里面配置loader 2- 设置下 ...

  3. POST+JSON+JS下载Excel或CSV

    流程大概是,通过POST请求获取到JSON数据,然后JS在浏览器端创建Excel或者CSV之类的文件,创建完成后,下载文件. 在线Demo地址: 在线创建CSV: http://jsfiddle.ne ...

  4. 原生js下载excel表格实现#基于XMLHttpRequest#根据后端blob数据下载excel

    不多bb,直接上代码 let postdata = 'areaName='+obj.areaName+'&areaCode='+obj.areaCode+'&schoolName='+ ...

  5. js下载当前页面表格为excel

    想想之前写过jsp,还写过一些原生js,贴一个原生js下载当前表格(其实是html–取巧了)为excel var html = "<html><head><me ...

  6. js vue 下载excel(.xls)文件

    @[TOC](js vue 下载excel(.xls)文件) 先看下载下来的excel文件 1.首先,后端给到的是一个文件在服务器中的存储地址 D:\MaxSecFile\Export\Alarm_2 ...

  7. 使用javascript生成Excel表格(内含实例demo),可下载xlsx.core.min.js、excel.js包

    分享一个我的小demo:GuitHub ExcelDownload 实例下载(布局简陋,随便看看就行),喜欢就给个star,哈哈 一.生成excel表格的原理 打蛇打七寸,擒贼先擒王.通过标题就可以知 ...

  8. node.js处理excel 出现npm下载node-xlsx问题

    node.js处理excel 出现npm下载node-xlsx问题 1.执行 npm install node-xlsx 开始出现的问题 2.可能是代理的问题所有就执行npm config set p ...

  9. js 下载url返回的excel数据,并解析为json

    XLSX GitHub地址:https://github.com/SheetJS/sheetjs/blob/github/dist/xlsx.full.min.js 需要先引入:XLSX.full.m ...

最新文章

  1. Ubuntu16.04中WPS不能输入中文
  2. Qt Creator调试
  3. Dubbo中负载均衡的应用
  4. 项目调试时候,出现其中用到的一个组件“访问被拒绝”
  5. 2022年“超级818汽车狂欢夜”启动,易车将携手汽车品牌共创内容营销
  6. 基于Lua插件化的Pcap流量监听代理
  7. [Linux] 获取Shell脚本自身所在位置的绝对路径;
  8. mysql8 错误日志_MySQL 8 服务器日志
  9. Excel表中只能选择固定内容
  10. 关于E-R(实体-联系)图
  11. shell脚本实战之坦克大战小游戏
  12. 数据库模式分解----如何判断保持无损连接性和保持函数依赖
  13. WIN11 TortoiseSVN 无论什么操作,都报同一个错误:请求的操作需要提升
  14. 12.pandas 读取与写入文件
  15. 热点追踪 | 数据,想说爱你不容易
  16. 解压主播狂揽4000w+播放,快手美食赛道又添新风向?
  17. 基于eNSP的小型企业网(附ensp源文件)
  18. Ubuntu双网卡主机给其他主机共享网络
  19. Pycharm打包可执行文件exe/mac
  20. 【零基础强化学习】3个模块教你跑通基于DQN的FlappyBird

热门文章

  1. springboot集成clickhouse之策略模式+线程池+反射实现动态批量操作
  2. 编程实现两个矩阵相乘
  3. mysql创建单个字段视图,MySQL在单表上创建视图
  4. ACM集训STL(1)学习杂记(二)——E题~H题
  5. hadoop-更换ip
  6. CorelDRAW X3 涂抹笔刷
  7. 同名文件替换怎么恢复,恢复同名文件
  8. 计算机无法找到扫描仪和照相机,Win7一体机无法安装扫描仪或者没有“扫描选项”的解决办法...
  9. 操作系统 读者写者问题的实现(C++ 读者优先、写者优先)
  10. 地推活动策划有几种?