请教各位高人,用vc#.net做asp.net项目。datagird控件来显示数据。如何实现把datagrid控件中的数据,导出到excel文件中,excel文件的格式要清楚,并且能在客户端保存。
谢谢!麻烦高人看一下,最好不要告诉我什么例子的链接,网页的网址,我需要的实实在在能够运行的例子。
如果您有,请您给我发一个
我的email是   [email protected]

解决方案 »

  1.   

    using System;using System.Data;using System.Data.SqlClient;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using OWC;namespace cominterop{  public class WebForm1 : System.Web.UI.Page  {    protected System.Web.UI.WebControls.DataGrid DataGrid1;    private SqlCommand sql;    protected System.Web.UI.WebControls.Button export2excel;    protected System.Web.UI.WebControls.TextBox xlfile;    private SqlConnection cnn;    private void Page_Load(object sender, System.EventArgs e)    {      this.BindDataGrid();          }    private void BindDataGrid() {      cnn = new SqlConnection("Initial Catalog=Northwind;Data Source=localhost;uid=sa;pwd=");      sql = new SqlCommand("select * from products",cnn);      cnn.Open();      SqlDataReader reader = sql.ExecuteReader();            this.DataGrid1.DataSource = reader;      this.DataGrid1.DataBind();      reader.Close();      cnn.Close();    }    private void WriteDataGrid2Excel() {            SpreadsheetClass xlsheet = new SpreadsheetClass();      cnn.Open();      SqlDataReader reader = this.sql.ExecuteReader();      int numbercols = reader.FieldCount;              int row=1;            while (reader.Read()) {        for (int i=0;i<numbercols;i++)         {                    xlsheet.ActiveSheet.Cells[row,i+1] = reader.GetValue(i).ToString();        }        row++;      }            reader.Close();      cnn.Close();      xlsheet.ActiveSheet.Export(Server.MapPath(".")+"\\"+this.xlfile.Text,OWC.SheetExportActionEnum.ssExportActionNone);    }    private void export2excel_Click(object sender, System.EventArgs e)    {      if (this.xlfile.Text.Trim()!="")       {        this.WriteDataGrid2Excel();      }    }    #region Web Form Designer generated code    override protected void OnInit(EventArgs e)    {      InitializeComponent();      base.OnInit(e);    }        private void InitializeComponent()    {       this.export2excel.Click += new System.EventHandler(this.export2excel_Click);      this.Load += new System.EventHandler(this.Page_Load);    }    #endregion  }}
      

  2.   

    这只是个简单的例子,注意使用OWC,必须引用这个dll如果不是很全面,可以到CSDN去搜索
      

  3.   

    装个Excel 2003以上版本右键菜单里就有
      

  4.   

    Response.Clear(); 
    Response.Buffer= true; 
    Response.Charset="GB2312";    
    Response.AppendHeader("Content-Disposition","attachment;filename="+ddlmonth.SelectedValue+".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.dgWorkInput.RenderControl(oHtmlTextWriter); 
    Response.Write(oStringWriter.ToString());
    Response.End();
      

  5.   

    http://blog.csdn.net/lovecherry/archive/2005/03/12/317790.aspx
    这里有详细解释