winform or webfrom or ?

解决方案 »

  1.   

    StringWriter sw=new StringWriter(); 
    sw.WriteLine("内容"); 
    sw.Close(); 
    string name="xxx";
    Response.AddHeader("Content-Disposition", "attachment; filename="+HttpUtility.UrlEncode(name)+".csv"); 
    Response.ContentType = "application/ms-excel"; 
    Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312"); 
    Response.Write(sw); 
    Response.End();
      

  2.   

    那就将查询出来的内容放DataGrid里再导出
      

  3.   

    格式化GridView并导出Excel http://www.cnblogs.com/EasyLive2006/archive/2006/12/31/608489.html
      

  4.   

    看你的结构罗,把你查询出来的数据放到比如DataTable,对这个dt进行处理,至于后面你想生成什么样的excel都可以了,用excel.application或者通过datagrid导出都可以
    通过datagrid导出如下:
    Response.Clear(); 
    Response.Buffer= true; 
    Response.Charset="GB2312";    
    Response.AppendHeader("Content-Disposition","attachment;filename=FileName.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.DataGrid1.RenderControl(oHtmlTextWriter); 
    Response.Write(oStringWriter.ToString());
    Response.End();
    通过excel.application如下:
    int RowNum = 1;
    object missing=Missing.Value;
    Excel.Application myExcel=new Excel.ApplicationClass( );
    Excel.Workbook myBook = myExcel.Application.Workbooks.Add(missing);
    myExcel.Visible=false;
    Excel.Worksheet MySheet=(Excel.Worksheet)myBook.Worksheets[1];for(int i=0;i<TableDG.Rows.Count;i++)
    {
    MySheet.Cells[RowNum,1] = i+1;
    for(int j=0;j<TableDG.Columns.Count;j++)
    {
    MySheet.Cells[RowNum,j+2] = TableDG.Rows[i][j].ToString();
    }
    RowNum ++;
    }
      

  5.   

    失误,少了最后的save了
    myBook.SaveAs(StrFilePath,missing,missing,missing,missing,missing,Excel.XlSaveAsAccessMode.xlNoChange,missing,missing,missing,missing,missing);
    myBook = null;
    myExcel.Quit();
    myExcel = null;