2009-10-09 5 views
0

Je suis en train de créer un fichier xls en utilisant C# comme celui-ciCréer et enregistrer des fichiers xls en C#

protected void ExportToExcel(DataSet dset, int TableIndex, HttpResponse Respone, string Felename) 
    { 
     Respone.Clear(); 
     Respone.Charset = ""; 
     Respone.ContentType = "application/vnd.ms-excel"; 
     Respone.AddHeader("content-disposition", "attachment; filename=" + Felename + ".xls"); 
     System.IO.StringWriter sw = new System.IO.StringWriter(); 

     System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(sw); 
     GridView gv = new GridView(); 
     gv.DataSource = dset.Tables[TableIndex]; 
     gv.DataBind(); 
     gv.RenderControl(hw); 
     Respone.Write(sw.ToString()); 
     Respone.End(); 
    } 

Il fonctionne très bien pour moi. Mais c'est l'ouverture qui a créé le fichier xls après l'achèvement réussi. Mais je veux enregistrer le fichier dans mon dossier sans ouvrir et demander ma permission.

Comment puis-je enregistrer automatiquement ..

Merci à l'avance

+0

Ce fil SO et [lien réponse ici] (http://stackoverflow.com/questions/871115/what-is-the-best-and-fastest-way-to -write-dans-excel-fichier-using-c/871142 # 871142) est une bonne approche. – kenny

Répondre

0

Modifier le type de contenu à une application/x-inconnu - cela ne devrait offrir en fonction du navigateur une option de sauvegarde comme il ne sera pas reconnaissez-le comme un fichier Excel. De plus, sachez que vous êtes en train de sauvegarder un fichier HTML avec une extension Excel, ce n'est pas un vrai fichier .Excel.

+0

oh alors y a-t-il un autre moyen d'exporter mon ensemble de données vers un fichier Excel? pouvez-vous me donner un exemple de code? – Nagu

+0

Vous devez utiliser Excel interop ou acheter un composant tiers pour ce faire. La méthode HTML fonctionnera dans une certaine mesure. – cjk

+0

Ou un fichier CSV délimité par des virgules fonctionne bien aussi. – kenny

0

SpreadsheetGear for.NET peut enregistrer dans un classeur Excel à partir d'un DataTable.

Voir le Exemple DataTable to Excel Workbook C# ou VB sur la page SpreadsheetGear ASP.NET Excel Reporting Sample here.

Vous pouvez télécharger un essai gratuit here si vous voulez l'essayer vous-même.

Disclaimer: Je possède SpreadsheetGear LLC

Questions connexes