ASP.NET datagrid直接导出为Excel Export to Excel from DataGrid (Using an Microsoft Access database)

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DataGrid ID="Exportexcel" runat="server">
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Export to excel"/>
</div>
</form>
</body>
</html>
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.OleDb;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
OleDbConnection MyOleDbConnection
=
new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" +
Server.MapPath(
"~/App_Data/nwind.mdb"));
OleDbDataAdapter MyOleDbDataAdapter
= new OleDbDataAdapter();
MyOleDbDataAdapter.SelectCommand
=
new OleDbCommand("SELECT EmployeeID,UserName,Title FROM EmployeesStandalone",
MyOleDbConnection);

DataTable table
= new DataTable();
MyOleDbConnection.Open();
try
{
MyOleDbDataAdapter.Fill(table);
}
finally
{
MyOleDbConnection.Close();
}
Exportexcel.DataSource
= table.DefaultView;
Exportexcel.DataBind();
}

protected void Button1_Click(object sender, EventArgs e)
{
Response.Clear();
Response.AddHeader(
"content-disposition", "attachment;filename=Lokesh.xls");
Response.Charset
= "";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType
= "application/vnd.xls";
System.IO.StringWriter stringWrite
= new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite
= new HtmlTextWriter(stringWrite);
Exportexcel.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();

}
}


参考:http://www.codeproject.com/Tips/254010/Export-to-excel-from-datagrid-using-msaccess-db/

posted @ 2011-09-20 13:50  xgdw  阅读(396)  评论(0编辑  收藏  举报