将数据以Excel表格形式输出,使用C#实现,尽量完整。谢谢

解决方案 »

  1.   

    reference:
    http://www.codeproject.com/csharp/excel_using_oledb.asp
      

  2.   

    try
    {
    string strHeader;
    strHeader = "<p align='center'>自己要显示的标头</p>";
    strHeader = strHeader + "<p align='right'>统计时间:" + this.lblTime.Text + "</p>";
    Page.Response.Clear();//清空
    Page.Response.Buffer=true;//缓冲输出
    Page.Response.Charset="UTF-8";
    Page.Response.AppendHeader("Content-Disposition","attachment;filename= Report.xls");
    Page.Response.ContentEncoding=System.Text.Encoding.GetEncoding("UTF-8");
    Page.Response.ContentType="application/ms-excel";
    this.EnableViewState=false;
    //定义一个输入流
    System.IO.StringWriter StrWrite=new System.IO.StringWriter();
    System.Web.UI.HtmlTextWriter  HtmlTextWriter=new HtmlTextWriter(StrWrite);
    //将数据邦定到输入流输出
    Page.Response.Write(strHeader);
    this.gridShow.RenderControl(HtmlTextWriter);//DataGrid控件
    Page.Response.Write(StrWrite.ToString());
    Page.Response.End();
    }
    catch(System.Exception ex)
    {
    Response.Write("<script>alert(@#"+ex.Message+"@#)</script>"); 
    }
      

  3.   

    NickLee.Common.ExcelLitehttp://www.mikecat.net/blogview.asp?logID=1259&cateID=1
      

  4.   

    bool ret = false; SaveFileDialog sa = new SaveFileDialog();
    try
    {
    sa.DefaultExt = "xls";
    sa.Filter = "Excel |.xls";
    sa.Title = "导出数据";
    sa.ShowDialog();
    string fName = sa.FileName;
    if(fName == "") 
    {
    MessageBox.Show("请填写文件名!");
    return;
    }
    ret = this.fpSpread1.SaveExcel(sa.FileName,FarPoint.Win.Spread.Model.IncludeHeaders.ColumnHeadersCustomOnly);
    if(ret)
    {
    MessageBox.Show("导出成功!");
    }
    }
    catch(Exception ee)
    {
    //出错了
    MessageBox.Show(ee.Message);
    }