使用using System.IO;

        ////// 导出Excel文件,并自定义文件名///public static void DataTableExcel(System.Data.DataTable dtData, String FileName){GridView dgExport = null;HttpContext curContext = HttpContext.Current;StringWriter strWriter = null;HtmlTextWriter htmlWriter = null;if (dtData != null){HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8);curContext.Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8) + ".xls");curContext.Response.ContentType = "application nd.ms-excel";curContext.Response.ContentEncoding = System.Text.Encoding.UTF8;curContext.Response.Charset = "GB2312";strWriter = new StringWriter();htmlWriter = new HtmlTextWriter(strWriter);dgExport = new GridView();dgExport.DataSource = dtData.DefaultView;dgExport.AllowPaging = false;dgExport.DataBind();dgExport.RenderControl(htmlWriter);curContext.Response.Write(strWriter.ToString());curContext.Response.End();}}

ToDataTableClass类

        public static class ToDataTableClass{////// Convert a List{T} to a DataTable.///public static DataTable ToDataTable(List items){var tb = new DataTable(typeof(T).Name);PropertyInfo[] props = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance);foreach (PropertyInfo prop in props){Type t = GetCoreType(prop.PropertyType);tb.Columns.Add(prop.Name, t);}foreach (T item in items){var values = new object[props.Length];for (int i = 0; i < props.Length; i++){values[i] = props[i].GetValue(item, null);}tb.Rows.Add(values);}return tb;}////// Determine of specified type is nullable///public static bool IsNullable(Type t){return !t.IsValueType || (t.IsGenericType && t.GetGenericTypeDefinition() == typeof(Nullable<>));}////// Return underlying type if type is Nullable otherwise return the type///public static Type GetCoreType(Type t){if (t != null && IsNullable(t)){if (!t.IsValueType){return t;}else{return Nullable.GetUnderlyingType(t);}}else{return t;}}}

controller:

        public ActionResult GetData(string keyValue,string filename){System.Data.DataTable __dtData = _userExamApp.GetData(keyValue);ExcelHelper.DataTable3Excel(__dtData, filename + "的试卷记录");}

app:

        public DataTable GetData(string keyValue){DataTable __mydt = ToDataTableClass.ToDataTable(Get(keyValue));__mydt.Columns.Remove("A1");__mydt.Columns.Remove("A2");__mydt.Columns["A3"].ColumnName = "A3Name";__mydt.Columns["A4"].ColumnName = "A4Name"; 9 return __mydt;}

我会经常修改 不希望被转载!

转载于:https://www.cnblogs.com/WNpursue/p/10136467.html

.net mvc 导出excel表格相关推荐

  1. 使用NPOI将数据库里信息导出Excel表格并提示用户下载

    使用NPOI进行导出Excel表格大家基本都会,我在网上却很少找到导出Excel表格并提示下载的 简单的代码如下 1 //mvc项目可以传多个id以逗号相隔的字符串2 public ActionRes ...

  2. MVC导出Excel之NPOI简单使用(一)

    一,NPOI是个啥 NPOI可以对Word或Excel文档等进行读写操作.NPOI 是 POI 项目的 .NET 版本.POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目. ...

  3. elementui中有导出组件吗_Element-ui组件库Table表格导出Excel表格

    安装 npm install --save xlsx file-saver 两个插件的详细地址在下面 https://github.com/SheetJS/js-xlsx https://github ...

  4. java中使用jxl导出Excel表格详细通用步骤

    该方法一般接收两个参数,response和要导出的表格内容的list. 一般我们将数据库的数据查询出来在页面进行展示,根据用户需求,可能需要对页面数据进行导出. 此时只要将展示之前查询所得的数据放入s ...

  5. php 导出csv设置列宽度,php数据库导出excel表格数据-php从数据库导出csv格式的Excel表格是,字段本身就......

    PHP如何将查询出来的数据导出成excel表格(最好做... $objPHPExcel->getActiveSheet()->getDefaultColumnDimension(A)-&g ...

  6. java 导出excel教程_Java导出Excel表格

    Java导出Excel表格 导出Excel表格需要一个poi-3.9.jar的包,该包在网上可以找到. 第一步,创建Excel对象. HSSFWorkbook workbook = new HSSFW ...

  7. com.alibaba.easyexcel导出指定的列_使用Python导入导出Excel表格

    这篇文章的目的是讲解使用python导入导出Excel表格,目前还不涉及数据处理,主要实现为数据的展示. 第一步,准备材料 python3.8的安装包 一个Excel表格 第二步,安装软件 pytho ...

  8. 使用python将数据导出excel表格

      python可用于数据分析,有时候获得了数据需要导出以作其他作用.本文就介绍python导出excel表格的方法.   导出excel表格,python提供了两个库:xlwt,xlrd.本文只讨论 ...

  9. java代码实现导出Excel表格、工具ssm框架、maven、idea

    第一步.导入依赖 <!--生成excel文件--><dependency><groupId>org.apache.poi</groupId><ar ...

最新文章

  1. mysql for循环_基于Swoole扩展开发异步高性能的MySQL代理服务器
  2. 《信息系统安全等级保护定级报告》
  3. iPhone因安全漏洞上热搜,苹果:暂时无法修复,法国总统也中招
  4. HashMap底层实现原理/HashMap与HashTable区别/HashMap与HashSet区别(转)
  5. 【排序+难题】LeetCode 41. First Missing Positive
  6. IDC评述网:1月下旬国内域名注册商净增量Top10
  7. 图解TCPIP---第六章---传输层TCPUDP
  8. 在线答题小程序一站式开发(现源码)
  9. 英语论文拟定论文标题的基本原则
  10. 焦距换算倍率(Focal length ratio)
  11. 谈谈K8S Pod Eviction 机制
  12. TT语音不灵了,母公司趣丸半年巨亏近10亿,押注电竞能否助推IPO?
  13. Python中文件路径
  14. 蓝牙耳机优点在哪儿?2021哪个牌子蓝牙耳机音质好?
  15. Javascript夯实基础01
  16. 年龄到底怎么算才对_人的年龄怎么计算
  17. iOS 中横竖屏切换
  18. el-upload实现上传文件预览
  19. 高级威胁:Ramsay恶意软件针对隔离网络的攻击技术分析
  20. java 下单 锁_JAVA 高并发下单解决方案-分布式锁

热门文章

  1. Solidity语言基础 和 Etherum ERC20合约基础
  2. 推荐一个视频 Postive Psychology
  3. 访问被拒绝:“Interop.jmail”
  4. 目标检测分类损失函数——Cross entropy、Focal loss
  5. 【个人网站搭建教程】阿里云服务器+宝塔+wordpress
  6. WordPress学习笔记(三)其他功能
  7. ICP算法(Iterative Closest Point迭代最近点算法)
  8. 大数据笔试面试问题之分治法解决
  9. 单链表删除所有值为x的元素_双链表的基本实现与讲解(C++描述)
  10. java生成txt_Java ThreadDump 生成解析