最近有一个项目使用以前的ashx,不能使用FileResult,只有通过response返回拼接好的字符串。但是通过查阅资料拼接的字符串总是提示文件格式不匹配,虽然能正常打开,但是体验很不好,在此总结一下我的解决方法:
直接下载excel会提示格式不相符,稍微修改,下载成csv的就没问题了

  • 后台:
/// <summary>
/// DataTable导出到Excel
/// </summary>
/// <param name="dt">DataTable类型的数据源</param>
/// <param name="FileType">文件类型</param>
/// <param name="FileName">文件名</param>
public void CreateExcel(HttpContext context, List<PB_SITE_BASIC> siteList, string FileName)
{//分割符string split = ",";HttpResponse Response = System.Web.HttpContext.Current.Response;Response.Clear();Response.Charset = "UTF-8";Response.Buffer = true;Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");Response.AppendHeader("Content-Disposition", "attachment;filename=\"" + System.Web.HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8) + ".csv\"");Response.ContentType = "application/ms-excel";string colHeaders = string.Empty;string ls_item = string.Empty;int i = 0;int cl = siteList.Count;//添加表头ls_item += "站点编号" + split;ls_item += "站点名称" + split;ls_item += "车桩总数" + split;ls_item += "基站地址" + split;ls_item += "所属区域" + split;ls_item += "站点地址" + split;ls_item += "站点纬度" + split;ls_item += "站点经度" + split;ls_item = ls_item.Substring(0, ls_item.Length - 1) + "\n";foreach (var site in siteList){ls_item += site.SID.ToString() + split;ls_item += site.NAME.ToString() + split;ls_item += site.CAPACITY.ToString() + split;ls_item += site.BASESTATION_ID.ToString() + split;ls_item += site.REGION_ID.ToString() + split;ls_item += site.ADDRESS.ToString() + split;ls_item += site.LAT.ToString() + split;ls_item += site.LNG.ToString() + split;ls_item += "\n";Response.Output.Write(ls_item);ls_item = string.Empty;}Response.Output.Flush();Response.End();
}
  • 前台
//导出
$("#btExport").click(function () {window.location = "ExportSiteBasic.ashx";
});

转载于:https://www.cnblogs.com/birdofparadise/p/9087505.html

asp.net ashx导出excel到前台相关推荐

  1. Asp.net高效导出excel篇之Aspose导出excel

    上周在博客中写了一篇<Asp.net高效导出Excel篇>在发布之后收到很多热心网友的建议--使用Excel第三方引擎如NOPI.Aspose.cell等导出Excel,优点:效率高.不需 ...

  2. 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致的解决办法...

    -----转载:http://blog.csdn.net/sgear/article/details/7663502 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格 ...

  3. ASP.NET Core 导出Excel文件

    最近学了一个ASP.NET Core 导出Excel文件程序,在学习过程中遇到了不少的麻烦!为了让大家更明白的怎么用ASP.NET Core 导出Excel文件,我决定把我学到的东西分享出来! 首先我 ...

  4. Hutool导出excel带前台Base64图片

    Hutool导出excel带前台Base64图片,hutool并没有封装具体方法,需要自己手动插入. @Data public class PicDto {private String chartBa ...

  5. ASP.NET MVC导出excel(数据量大,非常耗时的,异步导出)

    要在ASP.NET MVC站点上做excel导出功能,但是要导出的excel文件比较大,有几十M,所以导出比较费时,为了不影响对界面的其它操作,我就采用异步的方式,后台开辟一个线程将excel导出到指 ...

  6. ASP.NET如何导出excel和txt并可以个性化修改表头添加统计行等,并传回客户端下载

    近来在做项目和学习的过程都遇到了导出并下载excel和txt文档的需求,故在网上搜索累死的功能,我发现通过将DataTable中的数据导出成excel,让后将excel文件用记事本打开你会发现其实导出 ...

  7. ASP.NET导入导出Excel方法大全

    本文介绍下,C#实现的可以导出与导入excel的代码一例,有需要的朋友,参考下吧. C#实现导出与导入excel. 代码1:   复制代码 代码示例: #region  导出Excel   /// & ...

  8. java中poi导出Excel表格(前台流文件接收)

    java中poi导出Excel表格,前端以流的方式接收,而非直接生成文件再下载,解决多台服务器部署后,路径地址不统一导致的下载问题. 生成Excel示例图: 2.代码说明 ① 在上次的基础上增加了底部 ...

  9. asp.net里导出excel表方法汇总

    1.由dataset生成 public void CreateExcel(DataSet ds,string typeid,string FileName)     {     HttpRespons ...

  10. asp生成和导出excel和word数据源码和代码,简单好用(已经测试可以用)

    生成EXCEL表格(直接放在asp列表内,自动会生成整个页码内table数据) <% Response.ContentType ="application/vnd.ms-excel&q ...

最新文章

  1. web 移动端 ios 浏览器中 animation 动画异常
  2. lua学习笔记之函数
  3. 骆驼命名法,帕斯卡命名法和匈牙利命名法(转)
  4. 9月全球浏览器份额之争:IE领先Chrome21.73%
  5. ROS总结一,catkin,package,CMakeList,Topic,node
  6. 堆的应用(堆排序,TopK问题)
  7. C++---STL中迭代器失效的总结
  8. P1279 字串距离
  9. Python开发【第十八篇】Web框架之Django【基础篇】
  10. 对接阿里云天气,获取天气预报数据
  11. Qt QListView QStringListModel用法详解
  12. 小米平板2Android分区表,DIY:8G+128G双系统小米平板2
  13. Qt实现全局键盘事件监听器-Windows
  14. RabbitMQ之延迟队列
  15. UE4-PixelStreaming(虚幻引擎4-像素流技术)笔记
  16. [NXOpen] Siemens NX 二次开发 (c#) 安装,配置,新建项目,调试, 调用程序
  17. 英特尔图形处理器第8代架构
  18. exception java .text_java.text.ParseException
  19. arm指令一般编码格式和一般语法格式
  20. Javadoc(文档注释)详解

热门文章

  1. 2021-06-18html基本标签学习
  2. java 类省_2019 第十届蓝桥杯大赛软件类省赛 Java A组 题解
  3. 局部内部类使用局部变量应注意什么?
  4. lbs的核心技术都有哪些?_直击现场 | 腾讯云“揭秘智慧出行核心技术与创新实践”活动完美落幕!...
  5. FISCO BCOS Transaction execution error合约执行失败原因
  6. 区块链 Fisco bcos 智能合约(18)-FISCO BCOS的速度与激情:性能优化方案最全解密
  7. Ubuntu su root提示输入密码 怎么输入都不对
  8. 宜昌市计算机一级考试真题,宜昌市人事局关于在大中专院校学生中开展计算机应用等级考试的通知...
  9. Unity脚本的生命周期
  10. C++ printf输出