C#中导出Excel分为两大类。一类是Winform的,一类是Web。今天说的这一种是Web中的一种,把页面上的Table部分导出到Excel中。

Table导出Excel,简单点说,分为以下几步:

1.根据table的id,获取到Table的html,如用jquery获取table的代码:$("#table").html().但这只是获取到<table></table>之间的内容,还需要拼接上。

2.把页面获取到的table的html代码提交到后台。

3.后台的Response设置了一下要导出的格式,导出的编码,和导出的文件名。

具体详细,看一下下面的代码。

(1)获取table

var tableHead = "<html><meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\" /><body><table><tr><td style=\"background-color: #84aced;\">社員番号</td><td style=\"background-color: #84aced;\">社員名前</td><td style=\"background-color: #84aced;\">拠点</td>"
+ "<td style=\"background-color: #84aced;\">分野</td><td style=\"background-color: #84aced;\">課</td><td style=\"background-color: #84aced;\">職位</td><td style=\"background-color: #84aced;\">"
+ "対象</td><td style=\"background-color: #84aced;\">一次評価者</td><td style=\"background-color: #84aced;\">二次評価者</td><td style=\"background-color: #84aced;\">操作</td></tr>";
$("#html").val(tableHead + $("#datalist").html() + "</table></body></html>"); //获取并拼接代码

(2)因为获取表格的html代码比较长,通过Form表单的形式提交个后台

 document.getElementById("ExcelForm").submit();

(3)后台将获取到的table代码导出到Excel中

  string excelHtml = context.Request["excelHtml"];
string name = DateTime.Now.ToString();
context.Response.Buffer = true;
//输出的应用类型
context.Response.ContentType = "application/vnd.ms-excel";
//设定编码方式,若输出的excel有乱码,可优先从编码方面解决
context.Response.Charset = "utf-8";
context.Response.ContentEncoding = System.Text.Encoding.UTF8;
//filenames是自定义的文件名
context.Response.AppendHeader("Content-Disposition", "attachment;filename=" + name + ".xls");
//content是步骤1的html,注意是string类型
context.Response.Write(excelHtml);
context.Response.End();

最新文章

  1. 微信支付开发demo
  2. ab post 测试 http 和 webservice 接口方法及用例
  3. css3加载ing动画
  4. 使用CSS画一个三角形
  5. 网站压力测试工具webbench 安装与使用
  6. spring web flow 2.0入门(转)
  7. Saruman&#39;s Army (POJ 3069)
  8. Activity之间定时跳转
  9. Nuget介绍及使用技巧
  10. ARM的启动代码(1):介绍(转)
  11. (Jquery)避免数据相加小数点后产生多位数和计算精度损失
  12. java-信息安全(二)-对称加密算法DES,3DES,AES,Blowfish,RC2,RC4
  13. Vs 开发时无法断点问题
  14. selenium官方网站文档,testng官方网站文档
  15. [efficiency] emacs入门
  16. spring与mybatis四种整合方法
  17. Linux shell脚本中shift
  18. Android keystore相关
  19. 一个linux内核模块移植到低版本时发生的异常
  20. swift - 3D 视图,截图,关键字搜索

热门文章

  1. 第二阶段团队冲刺-one
  2. 软工实践Beta冲刺前装备
  3. PAT 1075 链表元素分类
  4. &lt;转自原博客&gt; NOIP2008 传纸条
  5. Python实现求矩阵路径最小和,使用动态规划
  6. js,将日期时分秒等格式化和转化
  7. gdb 打印内存 x
  8. 小Z爱划水(NOIP信(sang)心(bin)赛)From FallDream
  9. 杭电oj2047-2049、2051-2053、2056、2058
  10. mlock家族:锁定物理内存【转】