前台代码:

<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. canvas设置渐变

    canvas设置渐变 方法 createLinearGradient(x1, y1, x2, y2) 线性渐变 createRadialGradient(x1, y1, r1, x2, y2, r2) ...

  2. python 爬虫气象气象定时报 气象预警推送

    "2018-04-09 14时""长沙市""10日(明天)""多云转雷阵雨""29℃""1 ...

  3. C++异常处理基本句法测试

    针对C++异常机制,作如下简单测试 代码如下: #include<iostream> using namespace std; int MyDivision(int a, int b) { ...

  4. leetcode111

    /** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNo ...

  5. ADO Connection failure

    使用ado连接,频繁报错.为何?是网络的问题吗?太灵敏了.Connection failure. 跟大文本又关系??

  6. ASP.NET中高级程序员 面试题

    1. 简要说一下.Net的编译过程. 2.ASP.NET与ASP的区别 3.谈一下ASP.NET页面生命周期 4.ASP.NET程序的运行机制.可以从一个页面的请求到返回的角度谈 5.Javascri ...

  7. random.nextint()

    自从JDK最初版本发布起,我们就可以使用java.util.Random类产生随机数了.在JDK1.2中,Random类有了一个名为nextInt()的方法: public int nextInt(i ...

  8. 编程语言分类和Python解释器介绍

    主要内容: 一.编程语言分类和介绍 二.Python解释器分类和介绍 一.编程语言分类和介绍 1.编程语言分类 编程语言的发展依次经历了机器语言.汇编语言和高级语言. 2.编程语言的介绍   2.1 ...

  9. idea 插件

    https://plugins.jetbrains.com/plugin/4509-statistic

  10. 新手C#面向对象的学习2018.08.06

    class Person//声明一个Person类 { //类中的声明与Main中不同,类中声明的是字段而不是函数. public string gender; public string name= ...