前台代码:

<asp:Button ID="btnExcel" runat="server" Text="Excel导出" CssClass="button" OnClick="btnExcel_Click" />

后台实现功能代码:

       //实现导出
protected void btnExcel_Click(object sender, EventArgs e)
{
DataTable thisTable = RptBinds("id>0 and status in(2,3) and is_refund=0 " + CombSqlTxt(), "add_time desc,id desc");
string css = ".firstTR td{color:blue;widtd:100px;}.secondTR td{color:blue;widtd:100px;}.tdal{text-align:center;}.tdals{text-align:center;background-color:#ccfefe;}";
string filename = "学员信息.xls";//Excel名称
ExportToExcel(filename, GetExcelContent(thisTable), css);
} /// <summary>
/// 把DataTable的内容转成Table中拼接的字符串
/// </summary>
/// <param name="dt">数据源</param>
/// <returns>返回一个Table格式的字符串</returns>
private string GetExcelContent(DataTable dt)
{
StringBuilder sb = new StringBuilder();
sb.Append("<table border='1' >");
//生成表格头
sb.Append("<tr class='firstTR' style='height:30px;'><td class='tdals'>学号</td><td class='tdals'>姓名</td><td class='tdals'>性别</td>");
sb.Append("<td class='tdals'>出生日期</td><td class='tdals'>民族</td>");
sb.Append("<td class='tdals'>手机号码</td><td class='tdals'>班级</td><td class='tdals'>地址</td></tr>");
//循环生成表格内容
for (int i = ; i < dt.Rows.Count; i++)
{
sb.Append("<tr class='secondTR'><td class='tdal'>" + dt.Rows[i]["StudentID"] + "</td>");
sb.Append("<td class='tdal'>" + dt.Rows[i]["Name"] + "</td>");
sb.Append("<td class='tdal'>" + dt.Rows[i]["Gender"] + "</td>");
sb.Append("<td >" + dt.Rows[i]["Age"] + "</td>");
sb.Append("<td >" + dt.Rows[i]["Nation"] + "</td>");
sb.Append("<td class='tdal'>" + dt.Rows[i]["Phone"] + "</td>");
sb.Append("<td class='tdal'>" + dt.Rows[i]["Sclass"] + "</td>");
sb.Append("<td class='tdal'>" + dt.Rows[i]["Address"] + "</td></tr>");
} sb.Append("</table>");
return sb.ToString();
} /// <summary>
/// 导出生成的Excel
/// </summary>
/// <param name="filename">Excel名称</param>
/// <param name="content">内容</param>
/// <param name="cssText">样式</param>
public static void ExportToExcel(string filename, string content, string cssText)
{
var res = HttpContext.Current.Response;
content = String.Format("<style type='text/css'>{0}</style>{1}", cssText, content); res.Clear();
res.Buffer = true;
res.Charset = "GB2312";
res.AddHeader("Content-Disposition", "attachment; filename=" + filename);
res.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
res.ContentType = "application/ms-excel;charset=GB2312";
res.Write(content);
res.Flush();
res.End();
}

在ASP.NET根据DataTable中的内容导出Excel的更多相关文章

  1. VBA读取word中的内容到Excel中

    原文:VBA读取word中的内容到Excel中 Public Sub Duqu()      Dim myFile As String     Dim docApp As Word.Applicati ...

  2. Java中导入、导出Excel

    原文:Java中导入.导出Excel 一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已 ...

  3. 我是陌生人 Java中导入、导出Excel

    我是陌生人 Java中导入.导出Excel 一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是: ...

  4. ASP.Net MVC中数据库数据导出Excel,供HTTP下载(转)

    转自http://www.cnblogs.com/hipo/archive/2012/03/13/2394019.html 一.关于下载 一般对下载权限有没有限制,或安全性要求不高的情况下,基于web ...

  5. ASP.Net MVC中数据库数据导出Excel,供HTTP下载

    本文来自:http://www.cnblogs.com/hipo/archive/2012/03/13/2394019.html 一.关于下载 一般对下载权限有没有限制,或安全性要求不高的情况下,基于 ...

  6. 在ASP.NET Web Forms中使用页面导出伪xls Excel表格

    将数据导出为Excel表格是比较常见的需求,也有很多组件支持导出真正的Excel表格.由于Excel能打开HTML文件,并支持其中的table元素以及p之类的文本元素的显示,所以把.html扩展名改为 ...

  7. asp.net mvc 中使用NPOI导出excel

    版本信息:NPOI1.2.5(2.0以上的版本很多方法不清楚) 明确三点: path: mvc 部署网站的时候,我们肯定要拷贝的一个文件夹就mvc的UI层,有点可以肯定的是,你部署网站的路径不一定都是 ...

  8. JS 导出网页中Table内容到excel

    <html> <head> <script type="text/javascript" language="javascript" ...

  9. [转]Java中导入、导出Excel

    原文地址:http://blog.csdn.net/jerehedu/article/details/45195359 一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样 ...

随机推荐

  1. M3截止阶段小结

    python知识点总结1.copy模块中深浅拷贝copy() deepcopy()2.__new__ 方法参数    def __new__(cls, *args, **kwargs):        ...

  2. 使用css弹性盒子模型

    提示: 当期内容不充实, 修改后再来看吧 以下称:弹性子元素: 子元素, 弹性容器: 容器 弹性盒子的属性 1. css弹性盒子模型规定了弹性元素如何在弹性容器内展示 2. 弹性元素默认显示在弹性容器 ...

  3. bootstrap更新数据层

    mq推送数据,表格实时更新,发现销毁表格不太合适,整体表格闪动,于是选择更新数据层. 先初始化表格,然后在推送数据的时候先循环遍历数据 例如: initDevTable(data.operatingL ...

  4. HTTP 返回码 400

    400(错误请求)服务器不理解请求的语法 404表示页面不存在 返回500表示内部服务出错, 返回301表示资源永久性跳转 HTTP 500 – 内部服务器错误 HTTP 500.100 – 内部服务 ...

  5. 关于std:auto_ptr std:shared_ptr std:unique_ptr

    很多人听说过标准auto_ptr智能指针机制,但并不是每个人都天天使用它.这真是个遗憾,因为auto_ptr优雅地解决了C++设计和编码中常见的问题,正确地使用它可以生成健壮的代码.本文阐述了如何正确 ...

  6. Apache Hive 安装文档

    简介: Apache hive 是基于 Hadoop 的一个开源的数据仓库工具,可以将结构化的数据文件映射为一张数据库表, 并提供简单的sql查询功能,将 SQL 语句转换为 MapReduce 任务 ...

  7. Centos7手动编译安装Python3

    Python3的安装方式非常的简单,首先去到Python下载目录下载想要的Python包,这里我选择了3.6.5版本 $ wget https://www.python.org/ftp/python/ ...

  8. 101. Symmetric Tree (Tree, Queue; DFS, WFS)

    Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). For e ...

  9. 单源最短路:Dijkstra算法 及 关于负权的讨论

    描述: 对于图(有向无向都适用),求某一点到其他任一点的最短路径(不能有负权边). 操作: 1. 初始化: 一个节点大小的数组dist[n] 源点的距离初始化为0,与源点直接相连的初始化为其权重,其他 ...

  10. sqlserver datetime的bug?

    sqlserver datetime 的毫秒的个位似乎存在bug,只有0.3.7这三个值,比如: 2018-01-20 23:59:59:999会变成2018-01-21 00:00:00.000 2 ...