ToExcel.aspx
< asp:datagrid id = " DataGrid1 " runat = " server " Width = " 595px " AutoGenerateColumns = " False " PageSize = " 30 " AllowPaging = " True " BorderWidth = " 1px " BorderColor = " SeaGreen " Font - Size = " 12px " > < ItemStyle HorizontalAlign = " Left " ></ ItemStyle > < HeaderStyle HorizontalAlign = " Center " ></ HeaderStyle > < Columns > < asp:TemplateColumn > < HeaderStyle Width = " 40px " ></ HeaderStyle > < ItemStyle HorizontalAlign = " Center " ></ ItemStyle > < ItemTemplate > < asp:CheckBox id = " myselect " Runat = " server " ></ asp:CheckBox > </ ItemTemplate > < EditItemTemplate > < asp:TextBox id = TextBox1 runat = " server " Text = ' <%# DataBinder.Eval(Container, "DataItem.id") %> ' > </ asp:TextBox > </ EditItemTemplate > </ asp:TemplateColumn > < asp:ButtonColumn DataTextField = " 公司名称 " HeaderText = " 公司名称 " CommandName = " Select " ></ asp:ButtonColumn > < asp:BoundColumn Visible = " False " DataField = " id " ></ asp:BoundColumn > </ Columns > < PagerStyle HorizontalAlign = " Right " Position = " Top " Mode = " NumericPages " ></ PagerStyle > </ asp:datagrid >Toexcel.aspx.cs
a.数据绑定
void Bind() ... { string CS=this.Application.Get("kehuConnectionString").ToString(); string myQuery=""; myQuery= "SELECT * from [data] where (id<>null) "; if(Label1.Text.Trim()!="") myQuery+=Label1.Text.Trim(); OleDbConnection myConnection = new OleDbConnection(CS); myConnection.Open(); OleDbDataAdapter objDataAdapter=new OleDbDataAdapter(myQuery,myConnection); DataSet ds = new DataSet(); objDataAdapter.Fill(ds,"data"); /**//// DataTable dt=ds.Tables["data"]; /**/// this.DataGrid1.DataSource=dt.DefaultView; DataGrid1.DataBind(); if(Session["userlist"]!=null) ...{ Hashtable ht =(Hashtable)Session["userlist"]; if(ht!=null) ...{ for(int i = 0 ;i<DataGrid1.Items.Count ;i++) ...{ if (ht.ContainsKey(DataGrid1.Items[i].Cells[2].Text.ToString().Trim())) (DataGrid1.Items[i].Cells[0].FindControl("myselect") as CheckBox).Checked = true; } } } ds.Clear(); if(myConnection!=null)myConnection.Close(); }b.选择
private void check() ... { Hashtable ht = new Hashtable(); if(Session["userlist"]!=null) ...{ ht =(Hashtable) Session["userlist"]; if(ht!=null) ...{ for(int i = 0 ;i<DataGrid1.Items.Count ;i++) ...{ if ( (DataGrid1.Items[i].Cells[0].FindControl("myselect") as CheckBox).Checked) ...{ if (! ht.ContainsKey(DataGrid1.Items[i].Cells[2].Text.ToString().Trim())) ...{ ht.Add(DataGrid1.Items[i].Cells[2].Text.ToString().Trim(),DataGrid1.Items[i].Cells[2].Text.ToString().Trim()); } } else ...{ if ( ht.ContainsKey(DataGrid1.Items[i].Cells[2].Text.ToString().Trim())) ...{ ht.Remove(DataGrid1.Items[i].Cells[2].Text.ToString().Trim()); } } } } } else ...{ for(int i = 0 ;i<DataGrid1.Items.Count ;i++) ...{ if ( (DataGrid1.Items[i].Cells[0].FindControl("myselect") as CheckBox).Checked) ...{ ht.Add(DataGrid1.Items[i].Cells[2].Text.ToString().Trim(),DataGrid1.Items[i].Cells[2].Text.ToString().Trim()); } } } Session["userlist"] = ht; }c.输出到excel
private void LinkButton2_Click( object sender, System.EventArgs e) ... { /**//* Hashtable ht = new Hashtable(); if(Session["userlist"]!=null) { ht =(Hashtable) Session["userlist"]; if(ht!=null) { ht.Clear(); } } */ check(); Hashtable ht =(Hashtable) Session["userlist"]; /**//// StringWriter sw=new StringWriter(); string myhead=""; myhead="联系人 买卖家 部门 职务 公司名称 公司中文名 地址 国别 电话 手机 传真 电子邮件 网址 主营商品类 主营商品 收集日期 收集来源 "; sw.WriteLine(myhead); string mycol="";//int myint=0; /**//// string CS=Application.Get("kehuConnectionString").ToString(); string myQuery=""; OleDbConnection myConnection = new OleDbConnection(CS); myConnection.Open(); foreach (DictionaryEntry objDE in ht) ...{ string myid=objDE.Value.ToString(); myQuery= "SELECT 联系人,买卖家,部门,职务,公司名称,公司中文名,地址,国别,电话,手机,传真,电子邮件,企业网址,主营商品类,主营商品,收集日期,收集来源 from [data] where id="+myid; OleDbCommand myCommand= new OleDbCommand(myQuery,myConnection); OleDbDataReader objDataReader=myCommand.ExecuteReader(); mycol=""; if(objDataReader.Read()) ...{ for(int j=0;j<17;j++) if(!objDataReader.IsDBNull(j)) ...{ if(j==15) mycol+=objDataReader.GetDateTime(j).ToShortDateString().Trim() + " "; else mycol+=objDataReader.GetString(j).Trim() + " "; } else...{ mycol+= " "; } sw.WriteLine(mycol); } objDataReader.Close(); } if(myConnection!=null)myConnection.Close(); Response.AddHeader("Content-Disposition", "attachment; filename=RESULT.XLS"); Response.ContentType = "application/ms-excel"; Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312"); Response.Write(sw); Response.End(); sw.Close(); } }}