在ASP.NET根据DataTable中的内容导出Excel
前台代码:
<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的更多相关文章
- VBA读取word中的内容到Excel中
原文:VBA读取word中的内容到Excel中 Public Sub Duqu() Dim myFile As String Dim docApp As Word.Applicati ...
- Java中导入、导出Excel
原文:Java中导入.导出Excel 一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已 ...
- 我是陌生人 Java中导入、导出Excel
我是陌生人 Java中导入.导出Excel 一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是: ...
- ASP.Net MVC中数据库数据导出Excel,供HTTP下载(转)
转自http://www.cnblogs.com/hipo/archive/2012/03/13/2394019.html 一.关于下载 一般对下载权限有没有限制,或安全性要求不高的情况下,基于web ...
- ASP.Net MVC中数据库数据导出Excel,供HTTP下载
本文来自:http://www.cnblogs.com/hipo/archive/2012/03/13/2394019.html 一.关于下载 一般对下载权限有没有限制,或安全性要求不高的情况下,基于 ...
- 在ASP.NET Web Forms中使用页面导出伪xls Excel表格
将数据导出为Excel表格是比较常见的需求,也有很多组件支持导出真正的Excel表格.由于Excel能打开HTML文件,并支持其中的table元素以及p之类的文本元素的显示,所以把.html扩展名改为 ...
- asp.net mvc 中使用NPOI导出excel
版本信息:NPOI1.2.5(2.0以上的版本很多方法不清楚) 明确三点: path: mvc 部署网站的时候,我们肯定要拷贝的一个文件夹就mvc的UI层,有点可以肯定的是,你部署网站的路径不一定都是 ...
- JS 导出网页中Table内容到excel
<html> <head> <script type="text/javascript" language="javascript" ...
- [转]Java中导入、导出Excel
原文地址:http://blog.csdn.net/jerehedu/article/details/45195359 一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样 ...
随机推荐
- python-ini文件使用(读和写)
注意事项: 1.读文件: read(filename):读取ini文件中的内容 sections():得到所有section,返回列表形式 options(section):得到给定section的所 ...
- kettle步骤概览--清洗校验
2017年03月22日 11:01:19 阅读数:4755 前边介绍了34个子程序 关于清洗和校验的子系统包含四个: 清洗.错误处理.审计维度.排重 Kettle里没有单一的数据清洗步骤,但有很多 ...
- wampserver中php版本的升级
以php5.3.10到5.4.31版本为例: 1. 停止WAMP服务器. 2. 去网站windows.php.net 下载php-5.4.31-Win32-VC9-x86.zip. 不要下载THE ...
- Rhythmk 学习 Hibernate 07 - Hibernate annotation 实体注解
参考: http://docs.jboss.org/hibernate/annotations/3.4/reference/zh_cn/html_single/ 1.系统配置: 可以通过使用 map ...
- 其他标签a实现提交功能
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- sql server2008本地连接选择windows身份验证无法登陆的解决办法
1.安装完sqlserver数据库,本地连接登录不了 解决办法:进入cmd,输入net start mssqlserver 服务启动后,再次用windows身份验证就可以登陆本地数据库了
- 使用 phpStorm 开发
苦恼蛋疼的曾哥工作室,让人痛不欲生,缓慢的同步速度,另人恼火的插件配置,让人疯狂的卡.简直是让人用了几天之后就不行了. 废话不多说,一款很好的php IDE. 1. phpStorm 下载 here ...
- consul service
{ "name": "consul-agent (host:{{ .MONITOR_CONSUL }})", "command&q ...
- Educational Codeforces Round 54
这套题不难,但是场上数据水,导致有很多叉点 A. 因为是让求删掉一个后字典序最小,那么当a[i]>a[i+1]的时候,删掉a[i]一定最优!这个题有个叉点,当扫完一遍如果没有满足条件的,就删去最 ...
- iOS7的iBeacon初步使用
iBeacon是iOS7的新增的功能,通过BLE实现室内定位,精确到厘米级别. 测试使用两台iPhone(支持BLE),一台作为iBeacon基站广播信号,代码使用官方源码AirLocate,另外一台 ...