在.net中如何把数据导入到Excel
点击次数:25 次 发布日期:2008-11-26 11:45:59 作者:源代码网
|
源代码网推荐 using System; 源代码网推荐 using System.Collections; 源代码网推荐 using System.ComponentModel; 源代码网推荐 using System.Data; 源代码网推荐 using System.Drawing; 源代码网推荐 using System.Web; 源代码网推荐 using System.Web.SessionState; 源代码网推荐 using System.Web.UI; 源代码网推荐 using System.Web.UI.WebControls; 源代码网推荐 using System.Web.UI.HtmlControls; 源代码网推荐 using System.Data.SqlClient; 源代码网推荐 using System.Configuration; 源代码网推荐 源代码网推荐 源代码网推荐 namespace DgToExcel 源代码网推荐 { 源代码网推荐 /// <summary> 源代码网推荐 /// WebForm1 的摘要说明。 源代码网推荐 /// </summary> 源代码网推荐 public class WebForm1 : System.Web.UI.Page 源代码网推荐 { 源代码网推荐 protected System.Web.UI.WebControls.Button Button1; 源代码网推荐 protected System.Web.UI.WebControls.DataGrid DataGrid1; 源代码网推荐 private readonly string P_Con=ConfigurationSettings.AppSettings["P_Con"].ToString(); 源代码网推荐 //页面初始化 源代码网推荐 源代码网推荐 private void Page_Load(object sender, System.EventArgs e) 源代码网推荐 { 源代码网推荐 // 在此处放置用户代码以初始化页面 源代码网推荐 DataGrid1.DataSource=CreateData(); 源代码网推荐 DataGrid1.DataBind(); 源代码网推荐 } 源代码网推荐 /// <summary> 源代码网推荐 /// 创建数据源 源代码网推荐 /// </summary> 源代码网推荐 /// <returns>DataView</returns> 源代码网推荐 /// 源代码网推荐 源代码网推荐 ICollection CreateDataSource() 源代码网推荐 { 源代码网推荐 源代码网推荐 DataTable dt = new DataTable(); 源代码网推荐 DataRow dr; 源代码网推荐 dt.Columns.Add(new DataColumn("身份证号码", typeof(string))); 源代码网推荐 dt.Columns.Add(new DataColumn("图书单价",typeof(decimal))); 源代码网推荐 dt.Columns.Add(new DataColumn("购买数量",typeof(Int32))); 源代码网推荐 dt.Columns.Add(new DataColumn("总价格",typeof(decimal))); 源代码网推荐 源代码网推荐 源代码网推荐 for (int i = 0; i < 30; i++) 源代码网推荐 { 源代码网推荐 dr = dt.NewRow(); 源代码网推荐 源代码网推荐 dr[0] = "123456789123456789"; 源代码网推荐 dr[1] = 100 * i /3.0; 源代码网推荐 dr[2] = i + 5; 源代码网推荐 dr[3] = (decimal)dr[1] * (Int32)dr[2]; 源代码网推荐 dt.Rows.Add(dr); 源代码网推荐 } 源代码网推荐 DataView dv = new DataView(dt); 源代码网推荐 return dv; 源代码网推荐 } 源代码网推荐 private DataSet CreateData() 源代码网推荐 { 源代码网推荐 SqlConnection myconn=new SqlConnection(P_Con); 源代码网推荐 string cmdText="select * from news"; 源代码网推荐 SqlDataAdapter adpt=new SqlDataAdapter(cmdText,myconn); 源代码网推荐 DataSet ds=new DataSet(); 源代码网推荐 try 源代码网推荐 { 源代码网推荐 myconn.Open(); 源代码网推荐 adpt.Fill(ds); 源代码网推荐 } 源代码网推荐 catch(Exception ex) 源代码网推荐 { 源代码网推荐 throw new Exception(ex.Message,ex); 源代码网推荐 } 源代码网推荐 return (ds); 源代码网推荐 } 源代码网推荐 /// <summary> 源代码网推荐 /// 输出到Excel 源代码网推荐 /// </summary> 源代码网推荐 /// <param name="sender"></param> 源代码网推荐 /// <param name="e"></param> 源代码网推荐 private void Button1_Click(object sender, System.EventArgs e) 源代码网推荐 { 源代码网推荐 // Response.Clear(); 源代码网推荐 // Response.Buffer=true; 源代码网推荐 // Response.Charset="GB2312"; 源代码网推荐 // Response.AppendHeader("Content-Disposition","attachment;filename=FileName.xls"); 源代码网推荐 // Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文 源代码网推荐 // Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。 (MIME类型) 源代码网推荐 // this.EnableViewState = false; 源代码网推荐 // System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN",true); 源代码网推荐 // System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad); 源代码网推荐 // System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter); 源代码网推荐 // this.DataGrid1.RenderControl(oHtmlTextWriter); 源代码网推荐 // Response.Write(oStringWriter.ToString()); 源代码网推荐 // Response.End(); 源代码网推荐 Response.Clear();//清空缓存 源代码网推荐 Response.Buffer=true;//启用缓存 源代码网推荐 Response.Charset="GB2312"; 源代码网推荐 Response.AppendHeader("Content-Disposition","attachment;filename=Filename.xls"); 源代码网推荐 Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文 源代码网推荐 Response.ContentType="application/ms-excel"; 源代码网推荐 this.EnableViewState=false; 源代码网推荐 //下方的内容为导入到excel的主要语句 源代码网推荐 System.Globalization.CultureInfo myCItrad=new System.Globalization.CultureInfo("ZH-CN",true); 源代码网推荐 System.IO.StringWriter oStringWriter =new System.IO.StringWriter(myCItrad);//文件流 源代码网推荐 System.Web.UI.HtmlTextWriter oHtmlTextWriter=new System.Web.UI.HtmlTextWriter(oStringWriter); 源代码网推荐 this.DataGrid1.RenderControl(oHtmlTextWriter);//读取Datagrid中的数据 源代码网推荐 Response.Write(oStringWriter.ToString());//输出到stringwriter 源代码网推荐 Response.End(); 源代码网推荐 } 源代码网推荐 源代码网推荐 #region Web 窗体设计器生成的代码 源代码网推荐 override protected void OnInit(EventArgs e) 源代码网推荐 { 源代码网推荐 // 源代码网推荐 // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 源代码网推荐 // 源代码网推荐 InitializeComponent(); 源代码网推荐 base.OnInit(e); 源代码网推荐 } 源代码网推荐 源代码网推荐 /// <summary> 源代码网推荐 /// 设计器支持所需的方法 - 不要使用代码编辑器修改 源代码网推荐 /// 此方法的内容。 源代码网推荐 /// </summary> 源代码网推荐 private void InitializeComponent() 源代码网推荐 { 源代码网推荐 this.Button1.Click += new System.EventHandler(this.Button1_Click); 源代码网推荐 this.Load += new System.EventHandler(this.Page_Load); 源代码网推荐 源代码网推荐 } 源代码网推荐 #endregion 源代码网推荐 源代码网推荐 private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) 源代码网推荐 { 源代码网推荐 if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 源代码网推荐 { 源代码网推荐 e.Item.Cells[0].Attributes.Add("style","vnd.ms-excel.numberformat:@"); 源代码网推荐 e.Item.Cells[3].Attributes.Add("style","vnd.ms-excel.numberformat:¥#,###.00"); 源代码网推荐 } 源代码网推荐 } 源代码网推荐 源代码网推荐 源代码网推荐 } 源代码网推荐 } 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1487235 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1487278 源代码网推荐 源代码网推荐 做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。 源代码网推荐 源代码网供稿. |
