通过SQl语句,把查询之后返回的结果打印成EXCEL表(一)

2009年3月7日星期六

通过SQl语句,把查询之后返回的结果打印成EXCEL表(一)

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Data.SqlClient;

using System.IO;

public partial class ExcelImport : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

string columnsField,SqlCondition,FileName;

columnsField = Request.QueryString["Columns"].ToString();

SqlCondition = Request.QueryString["Conditional"].ToString();

FileName = Request.QueryString["FileName"].ToString();

SqlConnection conn = new SqlConnection();

conn.ConnectionString = "server=.;database=two_company;uid=sa;pwd=sa";



//string SqlStr = "select " + selval.ToString() + " from tbl_Company where 1=1 " + ReturnTotalCondition().ToString() + " order by company";



string StrConn;

StrConn = "select " + columnsField.ToString() + " from tbl_company where 1=1 " + SqlCondition.ToString()+"order by company";

SqlDataAdapter da = new SqlDataAdapter(StrConn, conn);



DataSet ds = new DataSet();



da.Fill(ds, "table1");



DataTable dt = ds.Tables["table1"];

GridView1.DataSource = dt;

GridView1.DataBind();



Response.Clear();

Response.Buffer = true;

Response.Charset = "GB2312"; //设置了类型为中文防止乱码的出现

Response.AppendHeader("Content-Disposition", "attachment;filename=" + FileName.Trim().ToString()+ ".xls"); //定义输出文件和文件名

Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文

Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。

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.GridView1.RenderControl(oHtmlTextWriter);

Response.Write(oStringWriter.ToString());

}

public override void VerifyRenderingInServerForm(Control control)

{

// Confirms that an HtmlForm control is rendered for

}

}

0 评论:

发表评论