2010-08-09 8 views
1

J'ai 3 datatables .i besoin d'écrire ces trois données datables dans une feuille Excel. comme nous le savons que sous une feuille Excel, je peux avoir (plus d'une feuille).comment écrire des données plus d'une feuille Excel

dans une même manière que je dois écrire mes 3 données DataTable dans un Excel (où sheet1 sera conatin dattable1, sheet2 sera conatin dattable2, Feuil3 sera conatin dattable3)

c'est le code que je utilise pour écrire datatable données dans la grille puis en excel

private void DataTableToExcel(DataTable dtResult) 
     { 
      try 
      { 
       DataGrid grid = new DataGrid(); 
       grid.HeaderStyle.Font.Bold = true; 
       grid.DataSource = dtResult; 
       grid.DataBind(); 
       // render the DataGrid control to a file 
       using (StreamWriter sw = new StreamWriter(Server.MapPath("Report/Report.xls"))) 
       { 
        using (HtmlTextWriter hw = new HtmlTextWriter(sw)) 
        { 
         grid.RenderControl(hw); 
        } 
       } 
       string filePath = Server.MapPath("~/" + "Report" + "/" + "Report.xls"); 
       System.IO.FileInfo targetFile = new System.IO.FileInfo(filePath); 
       if (targetFile.Exists) 
       { 
        Response.Clear(); 
        string shortDate = DateTime.Now.ToShortDateString(); 
        // Response.AddHeader("Content-Disposition", "attachment; filename=" + "Test"); 
        Response.AddHeader("Content-Disposition", "attachment; filename=" + "Emp" + shortDate + ".xls"); 
        Response.AddHeader("Content-Length", targetFile.Length.ToString()); 
        Response.ContentType = "application/vnd.ms-excel"; 
        Response.WriteFile(targetFile.FullName); 
       } 
      } 
      catch (Exception ex) 
      { 
       WriteLogError(ex.Message); 
      } 
     } 

toute aide sur cette question serait grealty apprécié. merci.

Répondre

Questions connexes