繁体中文
设为首页
加入收藏
当前位置:.Net技术首页 >> Asp.Net开发 >> 在.net中如何把数据导入到Excel

在.net中如何把数据导入到Excel

2007-10-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介: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...
关键字:.net 数据 如何 Excel

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

{

///

/// WebForm1 的摘要说明。

///

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();

}

///

/// 创建数据源

///

/// DataView

///

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);

}

///

/// 输出到Excel

///

///

///

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);

}

///

/// 设计器支持所需的方法 - 不要使用代码编辑器修改

/// 此方法的内容。

///

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

责任编辑:admin
相关文章