Response.ContentType = "application/vnd.ms-excel";
Response.Charset = "";
EnableViewState = false;
System.IO.StringWriter tw = new System.IO.StringWriter();//
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
MyDG1.RenderControl(hw);//DATAGRIDHtmlTextWriter
Response.Write(tw.ToString());
Response.End();1、有没有vb版本的,,这个是c#,,比较笨,不会修改
2、从数据库查询结果,,绑定到控件会了,,数据库比较多,我想,
只显示前10结果,然后一个导出按钮
有没有一个完整的代码,,在此先谢过
Response.Charset = "";
EnableViewState = false;
System.IO.StringWriter tw = new System.IO.StringWriter();//
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
MyDG1.RenderControl(hw);//DATAGRIDHtmlTextWriter
Response.Write(tw.ToString());
Response.End();1、有没有vb版本的,,这个是c#,,比较笨,不会修改
2、从数据库查询结果,,绑定到控件会了,,数据库比较多,我想,
只显示前10结果,然后一个导出按钮
有没有一个完整的代码,,在此先谢过
Public Function DataGridToExcel(ByRef Page As System.Web.UI.Page, ByVal MyDataGrid As System.Web.UI.WebControls.DataGrid, ByVal FileName As String) As String Dim resp As HttpResponse
resp = Page.Response
resp.ContentEncoding = System.Text.Encoding.GetEncoding("utf-7")
resp.ContentType = "application/vnd.ms-excel"
resp.AddHeader("Content-Disposition", "attachment; filename=" + FileName)
resp.Charset = "gb2312" Dim tw As New System.IO.StringWriter
Dim hw As New System.Web.UI.HtmlTextWriter(tw) ' Get the HTML for the control.
MyDataGrid.RenderControl(hw)
' Write the HTML back to the browser.
resp.Write(tw.ToString())
' End the response.
resp.End() End Function
调用的方法:DataGridToExcel(Page, DataGrid1, filename)
简单而好用。
Dim tw As New System.IO.StringWriter
没有可访问的“New”接受此数目的参数,因此重载决策失败。
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="System.Drawing" %>
<%@ Import Namespace="System.Drawing.Color" %><html>
<script runat="server">
dim MyConnection as OleDbConnection Sub Page_Load(sender As Object, e As EventArgs)
MyConnection = New OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" + Server.MapPath(".")+"/db/data.mdb") If Not IsPostBack Then
BindGrid()
End If
End Sub Sub MyDataGrid_Page(sender as Object, e As DataGridPageChangedEventArgs)
MyDataGrid.CurrentPageIndex = e.NewPageIndex
BindGrid()
End Sub Sub BindGrid()
Dim MyCommand As OleDbDataAdapter = new OleDbDataAdapter("select * from [min]", MyConnection)
Dim DS As DataSet = new DataSet()
MyCommand.Fill(DS,"min")
MyDataGrid.DataSource = DS.Tables("min").DefaultView
MyDataGrid.DataBind()
End SubSub Button1_Click(sender As Object, e As System.EventArgs)
'-------------------
MyDataGrid.AllowPaging = "false"
BindGrid()
'-------------------
MyDataGrid.SelectedItemStyle.BackColor=Color.white
MyDataGrid.AlternatingItemStyle.BackColor=Color.white
MyDataGrid.ItemStyle.BackColor=Color.white
MyDataGrid.HeaderStyle.BackColor=Color.white
MyDataGrid.HeaderStyle.ForeColor=Color.redHttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=Filel.xls")
'----------
dim resp as HttpResponse = Page.Response
resp.ContentEncoding = System.Text.Encoding.GetEncoding("Big5")
Response.ContentType = "application/vnd.ms-excel"
Response.Charset = ""
Me.EnableViewState = False
Dim tw As New System.IO.StringWriter()
Dim hw As New System.Web.UI.HtmlTextWriter(tw)
MyDataGrid.RenderControl(hw)
Response.Write(tw.ToString())
Response.End()
'-------------------
MyDataGrid.AllowPaging = "true"
BindGrid()
End Sub
</script><form runat="server">
<asp:Button id="button1" onclick="Button1_Click" text="Write To Excle File" runat="server"/> <asp:DataGrid id="MyDataGrid"
AllowPaging="True"
PageSize="5"
OnPageIndexChanged="MyDataGrid_Page"
runat="server"
AutoGenerateColumns="False"
Width="200">
<HeaderStyle BackColor="Navy"
ForeColor="White"
Font-Bold="True"
HorizontalAlign="Center"/>
<PagerStyle Mode="NextPrev"
HorizontalAlign="Right"
NextPageText="下一页"
PrevPageText="上一页"/>
<Columns>
<asp:BoundColumn DataField="id" HeaderText="ID"/>
<asp:TemplateColumn HeaderText="zhuti">
<ItemTemplate>
<asp:Label ID="lblTotalPrice" Text='<%#(Container.DataItem("zhuti"))%>' Runat=server />
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</form>