zoukankan      html  css  js  c++  java
  • C# html的Table导出到Excel中

    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();
    复制代码
  • 相关阅读:
    java.lang.NoSuchMethodError: org.springframework.beans.factory.annotation.InjectionMetadata.<init>(Ljava/lang/Class;)V
    tomcat下jndi的三种配置方式
    使用@RequestParam绑定请求参数到方法参数
    IE下easyui 缓存问题
    many to one could not resolve property
    aop郁闷错误
    Spring 运用 pointcut 和 advisor 对特定的方法进行切面编程
    放大改进版~
    cocos2d-x嵌入移动MM短代支付IAP2.4的SDK,点击支付崩溃的解决的方法
    在 Android* 商务应用中实施地图和地理围栏特性
  • 原文地址:https://www.cnblogs.com/soundcode/p/3668418.html
Copyright © 2011-2022 走看看