1.html代码
<
HTML
>
<
HEAD
>
<
title
>
WriteToCVS
</
title
>
<
meta
content
="False"
name
="vs_snapToGrid"
>
<
meta
content
="Microsoft Visual Studio .NET 7.1"
name
="GENERATOR"
>
<
meta
content
="C#"
name
="CODE_LANGUAGE"
>
<
meta
content
="JavaScript"
name
="vs_defaultClientScript"
>
<
meta
content
="http://schemas.microsoft.com/intellisense/ie5"
name
="vs_targetSchema"
>
</
HEAD
>
<
body
MS_POSITIONING
="GridLayout"
>
<
form
id
="Form1"
method
="post"
runat
="server"
>
<
asp:DataGrid
id
="DataGrid1"
style
="Z-INDEX: 101; LEFT: 14px; POSITION: absolute; TOP: 109px"
runat
="server"
BorderColor
="#CC9966"
BorderStyle
="None"
BorderWidth
="1px"
BackColor
="White"
CellPadding
="4"
>
<
FooterStyle
ForeColor
="#330099"
BackColor
="#FFFFCC"
></
FooterStyle
>
<
SelectedItemStyle
Font-Bold
="True"
ForeColor
="#663399"
BackColor
="#FFCC66"
></
SelectedItemStyle
>
<
ItemStyle
ForeColor
="#330099"
BackColor
="White"
></
ItemStyle
>
<
HeaderStyle
Font-Bold
="True"
ForeColor
="#FFFFCC"
BackColor
="#990000"
></
HeaderStyle
>
<
PagerStyle
HorizontalAlign
="Center"
ForeColor
="#330099"
BackColor
="#FFFFCC"
></
PagerStyle
>
</
asp:DataGrid
>
<
asp:Button
id
="Button1"
style
="Z-INDEX: 102; LEFT: 18px; POSITION: absolute; TOP: 11px"
runat
="server"
Text
="DataSet导出到csv文件"
Width
="148px"
></
asp:Button
>
<
asp:Button
id
="Button2"
style
="Z-INDEX: 103; LEFT: 19px; POSITION: absolute; TOP: 42px"
runat
="server"
Text
="DataGrid导出到csv文件"
Width
="157px"
></
asp:Button
>
<
asp:Button
id
="Button3"
style
="Z-INDEX: 104; LEFT: 18px; POSITION: absolute; TOP: 73px"
runat
="server"
Text
="DataGrid导出到Excel"
Width
="149px"
></
asp:Button
>
</
form
>
</
body
>
</
HTML
>
2.cs代码
using
System.IO;
using
System.Data.SqlClient;
public
class
WriteToCVS : System.Web.UI.Page
{ protected System.Web.UI.WebControls.DataGrid DataGrid1; protected System.Web.UI.WebControls.Button Button2; protected System.Web.UI.WebControls.Button Button3; protected System.Web.UI.WebControls.Button Button1; private void Page_Load(object sender, System.EventArgs e) { if(!Page.IsPostBack) { string sql="select * from TestGrid"; ds=GetDataSet(sql); this.DataGrid1.DataSource=ds; this.DataGrid1.DataBind(); } } WriteDSToCsv 传入dataset生成csv文件#region WriteDSToCsv 传入dataset生成csv文件 public void WriteDSToCsv(DataSet ds) { string strFile=""; string path=""; DataTable dt=ds.Tables[0]; //文件信息设置 strFile=strFile+"LogBackUp"; strFile=strFile+DateTime.Now.ToString("yyyyMMddhhmmss"); strFile=strFile+".csv"; path=Server.MapPath(strFile); //string[] strHead={"使用者姓名","员工编号","所属分行别","作业时间","使用功能","作业说明"}; System.IO.FileStream fs=new FileStream(path,System.IO.FileMode.Create,System.IO.FileAccess.Write); StreamWriter sw=new StreamWriter(fs,new System.Text.UnicodeEncoding()); //画表头 for(int i=0;i<dt.Columns.Count;i++) { sw.Write(dt.Columns[i].ColumnName); sw.Write("/t"); } sw.WriteLine(""); //画表体 for(int i=0;i<dt.Rows.Count;i++) { sw.Write(DelQuota(dt.Rows[i]["UserID"].ToString())); sw.Write("/t"); sw.Write(DelQuota(dt.Rows[i]["UserName"].ToString())); sw.Write("/t"); sw.Write(DelQuota(dt.Rows[i]["provinceID"].ToString())); sw.Write("/t"); sw.Write(DelQuota(dt.Rows[i]["cityID"].ToString())); sw.Write("/t"); sw.Write(DelQuota(dt.Rows[i]["areaID"].ToString())); sw.Write("/t"); sw.Write(DelQuota(dt.Rows[i]["Enabled"].ToString())); sw.WriteLine(""); } sw.Flush(); sw.Close(); } #endregion WriteDatagridToCsv 传入datagrid生成csv文件#region WriteDatagridToCsv 传入datagrid生成csv文件 public void WriteDatagridToCsv(System.Web.UI.WebControls.DataGrid grid) { string strFile=""; string path=""; DataTable dt=ds.Tables[0]; //文件信息设置 strFile=strFile+"LogBackUp"; strFile=strFile+DateTime.Now.ToString("yyyyMMddhhmmss"); strFile=strFile+".csv"; path=Server.MapPath(strFile); string[] strHead={"UserID","UserName","provinceID","cityID","areaID","Enabled"}; System.IO.FileStream fs=new FileStream(path,System.IO.FileMode.Create,System.IO.FileAccess.Write); StreamWriter sw=new StreamWriter(fs,new System.Text.UnicodeEncoding()); //画表头 for(int i=0;i<strHead.Length;i++) { sw.Write(strHead[i]); sw.Write("/t"); } sw.WriteLine(""); //画表体 for(int i=0;i<grid.Items.Count;i++) { sw.Write(DelQuota(grid.Items[i].Cells[0].Text.ToString())); sw.Write("/t"); sw.Write(DelQuota(grid.Items[i].Cells[1].Text.ToString())); sw.Write("/t"); sw.Write(DelQuota(grid.Items[i].Cells[2].Text.ToString())); sw.Write("/t"); sw.Write(DelQuota(grid.Items[i].Cells[3].Text.ToString())); sw.Write("/t"); sw.Write(DelQuota(grid.Items[i].Cells[4].Text.ToString())); sw.Write("/t"); sw.Write(DelQuota(grid.Items[i].Cells[5].Text.ToString())); sw.WriteLine(""); } sw.Flush(); sw.Close(); } #endregion ToExcel#region ToExcel public static void ToExcel(System.Web.UI.Control ctl,string FileName) { HttpContext.Current.Response.Charset ="UTF-8"; HttpContext.Current.Response.ContentEncoding =System.Text.Encoding.Default; HttpContext.Current.Response.ContentType ="application/ms-excel"; HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename="+""+FileName+".xls"); ctl.Page.EnableViewState =false; System.IO.StringWriter tw = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw); ctl.RenderControl(hw); HttpContext.Current.Response.Write(tw.ToString()); HttpContext.Current.Response.End(); } #endregion DelQuota#region DelQuota public string DelQuota(string str)//删除特殊字符 { string result=str; string[] strQuota={"~","!","@","#","$","%","^","&","*","(",")","`",";","'",",",".","/",":","/,","<",">","?"}; for(int i=0;i<strQuota.Length;i++) { if(result.IndexOf(strQuota[i])>-1) result=result.Replace(strQuota[i],""); } return result; } #endregion GetDataSet#region GetDataSet public static DataSet GetDataSet(string sql) { string ConnectionString=System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]; SqlDataAdapter sda =new SqlDataAdapter(sql,ConnectionString); DataSet ds=new DataSet(); sda.Fill(ds); return ds; } #endregion Web Form Designer generated code#region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN: This call is required by the ASP.NET Web Form Designer. // InitializeComponent(); base.OnInit(e); } /**//// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.Button1.Click += new System.EventHandler(this.Button1_Click); this.Button2.Click += new System.EventHandler(this.Button2_Click); this.Button3.Click += new System.EventHandler(this.Button3_Click); this.Load += new System.EventHandler(this.Page_Load); } #endregion private void Button1_Click(object sender, System.EventArgs e) { WriteDSToCsv(ds); } private void Button2_Click(object sender, System.EventArgs e) { WriteDatagridToCsv(this.DataGrid1); } private void Button3_Click(object sender, System.EventArgs e) { ToExcel(this.DataGrid1,"meng"); } property#region property private DataSet ds { get { if(ViewState["ds"]!=null) { return (DataSet)ViewState["ds"]; } else { return null; } } set { ViewState["ds"]=value; } } #endregion }
3.数据库脚本
if
exists
(
select
*
from
dbo.sysobjects
where
id
=
object_id
(N
'
[dbo].[TestGrid]
'
)
and
OBJECTPROPERTY
(id, N
'
IsUserTable
'
)
=
1
)
drop
table
[
dbo
]
.
[
TestGrid
]
GO
CREATE
TABLE
[
dbo
]
.
[
TestGrid
]
(
[
UserID
]
[
int
]
IDENTITY
(
1
,
1
)
NOT
NULL
,
[
UserName
]
[
nvarchar
]
(
50
) COLLATE Chinese_PRC_CI_AS
NULL
,
[
provinceID
]
[
nvarchar
]
(
50
) COLLATE Chinese_PRC_CI_AS
NULL
,
[
cityID
]
[
nvarchar
]
(
50
) COLLATE Chinese_PRC_CI_AS
NULL
,
[
areaID
]
[
nvarchar
]
(
50
) COLLATE Chinese_PRC_CI_AS
NULL
,
[
Enabled
]
[
bit
]
NULL
)
ON
[
PRIMARY
]
GO
转载请注明原文地址: https://ibbs.8miu.com/read-15703.html