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

本文介绍了一个使用ASP.NET进行Excel数据导出的例子。该示例通过接收查询字符串参数来定制SQL查询,并从数据库中获取指定的数据字段,然后将查询结果填充到数据集中,并进一步绑定到GridView控件上。最后,将GridView的内容转换为Excel格式并提供下载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 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

    }

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值