2009-04-03 15 views
0

Comment puis-je exporter un jeu de données dans un fichier pouvant être ouvert par Excel 2003?Exporter le jeu de données vers Excel

allez-vous élaborer? parce qu'il est diffcultés pour comprendre le CSV/TSV

MARC u nous donner un échantillon pour le faire .V maintenant ony a entendu les termes csv/TSV

+0

http://www.google.com/search?q=datatable+to+csv –

Répondre

0

probablement la voie la plus facile est d'exporter des tables individuelles comme csv/tsv. Le 'net est plein d'échantillons de ceci.

+0

kumar, csv = valeurs séparées par des virgules, tsv = valeurs séparées par des tabulations –

0

Si vous voulez le faire en 2003, vous avez déjà six ans trop tard. Si vous vouliez dire quelque chose d'autre par "2003", vous pourriez peut-être clarifier et les gens pourraient donner une meilleure réponse (bien que la réponse précédente, exporter en CSV, soit plutôt bonne).

0

La feuille de calcul XML pourrait être ce que vous cherchez.

Regardez this réponse.

3

Je pense que cela va vous aider. Utilisez gestionnaire http

<%@ WebHandler Language="C#" Class="DownloadAllEvent" %> 

using System; 
using System.Web; 
using System.Data.SqlClient; 
using System.Data; 
using System.Text; 
using System.IO; 

public class DownloadAllEvent : IHttpHandler 
{ 
    const int BUFFERSIZE = 1024; 

    public bool IsReusable 
    { 
     get 
    { 
      return true; 
    } 
} 

public void ProcessRequest(HttpContext context) 
{ 
    HttpResponse response = context.Response; 
    HttpRequest request = context.Request; 
    response.BufferOutput = true; 
    response.ContentType = "application/octet-stream"; 
    response.AddHeader("Content-Disposition", "attachment; filename=Events.csv"); 
    response.Cache.SetCacheability(HttpCacheability.NoCache); 
    //string csvfile = request.QueryString["csvfile"]; 
    string strNoofIds = request.QueryString["NoofIds"]; 
    // declare variables or do something to pass parameter to writecalEntry function 

    writeCalEntry(response.Output, strguid, sectionid); 
    response.End(); 
} 

    public void writeCalEntry(TextWriter output, string[] strguid,string sectionid) 
    { 
     DataTable dt = createDataTable(); 
     DataRow dr; 

     StringBuilder sbids = new StringBuilder(); 



     // process table if neeed.. use following code to create CSV format string from table 

     string separator;  

     separator = ","; //default 

     string quote = "\""; 

     //create CSV file 
     //StreamWriter sw = new StreamWriter(AbsolutePathAndFileName); 

     //write header line 

     StringBuilder sb = new StringBuilder(); 


     int iColCount = dt.Columns.Count; 
     for (int i = 0; i < iColCount; i++) 
     { 
      //sw.Write(TheDataTable.Columns[i]); 
      sb.Append(dt.Columns[i]); 
      if (i < iColCount - 1) 
      { 
       //sw.Write(separator); 
       sb.Append(separator); 
      } 
     } 
     //sw.Write(sw.NewLine); 
     sb.AppendLine(); 

     //write rows 
     foreach (DataRow tempdr in dt.Rows) 
     { 
      for (int i = 0; i < iColCount; i++) 
      { 
       if (!Convert.IsDBNull(tempdr[i])) 
       { 
        string data = tempdr[i].ToString(); 
        data = data.Replace("\"", "\\\""); 
        //sw.Write(quote + data + quote); 
        sb.Append(quote + data + quote); 
       } 
       if (i < iColCount - 1) 
       { 
        //sw.Write(separator); 
        sb.Append(separator); 
       } 
      } 
      //sw.Write(sw.NewLine); 
      sb.AppendLine(); 
     } 
     //sw.Close(); 
     UnicodeEncoding uc = new UnicodeEncoding(); 
     output.WriteLine(sb); 

} 

public static DataTable createDataTable() 
{ 
    DataTable dt = new DataTable("EventsData"); 
    // create tables as needed which will be converted to csv format. 
    return dt; 
} 

d'appel ce fichier de HttpHandler où vous souhaitez exporter des données au format Excell comme

Response.Redirect("downloadFile.ashx"); 

vous pouvez envoyer paramètres aussi à Response.Redirect qui peut être récupéré dans le fichier .ashx. Je pense que cela vous aidera.

0

La meilleure façon que j'ai personnellement trouvée est d'utiliser XML et le composant de tableur.

Un exemple de code serait beaucoup trop compliqué pour poster ici, mais commencer ici et voir où cela mène: http://msdn.microsoft.com/en-us/library/aa140062.aspx

Questions connexes