asp.net 导出Excel
来源:互联网 发布:java derby内嵌 编辑:程序博客网 时间:2024/04/28 06:45
1.添加Excel引用
2.
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Outputexecl(sender, e);
}
}
protected void Outputexecl(object sender, EventArgs e)
{
//string fileName = "test.xls";//设置导出文件的名称
HttpContext curContext = System.Web.HttpContext.Current;
curContext.Response.ContentType = "application/vnd.ms-excel";
curContext.Response.ContentEncoding = System.Text.Encoding.Default;
curContext.Response.AppendHeader("Content-Disposition", "attachment;filename=test.xls");
curContext.Response.Charset = "";
curContext.Response.Write(AddExcelHead());//显示excel的网格线
curContext.Response.Write(ExportTable(getData()));//导出
curContext.Response.Write(AddExcelbottom());//显示excel的网格线
curContext.Response.Flush();
curContext.Response.End();
}
public DataTable getData()
{
Test users = new Test();
DataTable dt = users.GetAll();
return dt;
}
#region
public static string ExportTable(DataTable tb)
{
string data = "";
data += "<table cellspacing='0' cellpadding='5' rules='all' border='0'>";
//写出列名
data += "<tr style='font-weight: bold; white-space: nowrap;'>";
//foreach (DataColumn column in tb.Columns)
//{
// data += "<td>" + column.ColumnName + "</td>";
//}
data += "<td>用户名</td>";
data += "<td>密码</td>";
data += "<td>注册时间</td>";
data += "</tr>";
//写出数据
foreach (DataRow row in tb.Rows)
{
data += "<tr>";
foreach (DataColumn column in tb.Columns)
{
data += "<td>" + row[column].ToString() + "</td>";
}
data += "</tr>";
}
data += "</table>";
return data;
}
public static string AddExcelHead()
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("<html xmlns:x='urn:schemas-microsoft-com:office:excel'>");
sb.Append(" <head>");
sb.Append(" <!--[if gte mso 9]><xml>");
sb.Append("<x:ExcelWorkbook>");
sb.Append("<x:ExcelWorksheets>");
sb.Append("<x:ExcelWorksheet>");
sb.Append("<x:Name></x:Name>");
sb.Append("<x:WorksheetOptions>");
sb.Append("<x:Print>");
sb.Append("<x:ValidPrinterInfo />");
sb.Append(" </x:Print>");
sb.Append("</x:WorksheetOptions>");
sb.Append("</x:ExcelWorksheet>");
sb.Append("</x:ExcelWorksheets>");
sb.Append("</x:ExcelWorkbook>");
sb.Append("</xml>");
sb.Append("<![endif]-->");
sb.Append(" </head>");
sb.Append("<body>");
return sb.ToString();
}
public static string AddExcelbottom()
{
StringBuilder sb = new StringBuilder();
sb.Append("</body>");
sb.Append("</html>");
return sb.ToString();
}
#endregion
导出Excel有个问题,就是导出之后打开文件,如果后缀名为 xlsx 会打不开,xls才能打开,这个问题还没解决
- asp.net导出excel
- asp.net导出Excel
- asp.net导出excel
- asp.net导出Excel
- Asp.net 导出Excel
- asp.net导出excel
- asp.net 导出excel
- asp.net 导出Excel
- asp.net 导出 excel
- asp.net导出Excel
- ASP.NET Excel导出
- asp.net导出EXCEL
- ASP.NET Excel导出
- asp.net 导出Excel
- asp.net 导出Excel
- Asp.net导出Excel
- asp.net导出excel
- Asp.net 导出Excel
- asp.net 连接 MySQL数据库
- mysql 获取最新若干条记录的sql语句
- mysql主从复制的原理及配置实现
- Java程序更改多个文件的名字
- DownloadManager 互联网通信-文件下载
- asp.net 导出Excel
- 如何加快建 index 索引 的时间
- iPad mini将如何从重新定义小尺寸平板?
- Android桌面组件开发之实时文件夹(Live_Folders)
- iPhone4高清屏程序开发
- 内核符号表
- 得到UIColor的RGB值
- [转载]Android触屏滑动事件总结 (2011-08-08 10:14:25)
- Oracle 控制文件