html页面
<form id="form1" runat="server"><div>
<asp:Button ID="cmdOpen" runat="server" Text="在线打开" CommandName="open" OnCommand="Button_Click" /> <asp:Button ID="cmdSave"runat="server" Text="本地保存" CommandName="save" OnCommand="Button_Click" />
<asp:DropDownList ID="listType" runat="server">
<asp:ListItem Value="excel">Excel</asp:ListItem>
<asp:ListItem Value="word">Word</asp:ListItem>
</asp:DropDownList><br />
<br />
数据源:<br />
<br />
<asp:GridView ID="myGW" runat="server">
</asp:GridView>
</div></form>
后台代码
protected void Page_Load(object sender, EventArgs e)
{
FillGridView();
}
private void OutPut(string fileType, string strType)
{
Response.Clear();
Response.Buffer = true;
Response.Charset = "GB2312";
Response.AppendHeader("Content-Disposition", fileType);
Response.ContentType = strType;
this.EnableViewState = false;
System.IO.StringWriter swOut = new System.IO.StringWriter();
HtmlTextWriter hTw = new HtmlTextWriter(swOut);
myGW.RenderControl(hTw);
Response.Write(swOut.ToString());
Response.End();
}
protected void Button_Click(object sender, CommandEventArgs e)
{
switch (e.CommandName)
{
case "save":
switch (listType.SelectedValue)
{
case "excel":
OutPut("attachment;filename=out.xls", "application/ms-excel");
break;
case "word":
OutPut("attachment;filename=out.doc", "application/ms-word");
break;
}
break;
case "open":
switch (listType.SelectedValue)
{
case "excel":
OutPut("online;filename=out.xls", "application/ms-excel");
break;
case "word":
OutPut("online;filename=out.doc", "application/ms-word");
break;
}
break;
}
}
public override void VerifyRenderingInServerForm(Control control)
{
}
private void FillGridView()
{
string strConn = "server=localhost\\sqlexpress;database=Northwind;user id=sa;password=sa123";
SqlConnection conn = new SqlConnection(strConn);
SqlCommand comm = new SqlCommand();
comm.Connection = conn;
string strSql = "select * from Categories";
comm.CommandText = strSql;
conn.Open();
this.myGW.DataSource = comm.ExecuteReader();
this.myGW.DataBind();
conn.Close();
}