2011-01-17 23 views
1

Ich versuche, Rasteransicht Daten in Excel 2007 zu exportieren, d. H. Xlsx-Format. aber es gibt Fehler.Exportieren von Gridview nach MS Excel 2007

i folgenden Code verwenden

protected void Button1_Click (object sender, EventArgs e)

{ 
     Response.Clear(); 
     Response.Buffer = true; 
     Response.AddHeader("content-disposition", "attachment;filename=text.xls"); 
     Response.Charset = ""; 
     Response.ContentType = "application/vnd.ms-excel"; 
     StringWriter sw = new StringWriter(); 
     HtmlTextWriter hw = new HtmlTextWriter(sw); 
     GridView1.DataSource = Presenter.CurrentModel.BillStatementGlModelRecords; 
     GridView1.DataBind(); 
     GridView1.AllowPaging = false; 

     GridView1.DataBind(); 
     GridView1.HeaderRow.Style.Add("background-color", "#FFFFFF"); 

     for (int i = 0; i < GridView1.Rows.Count; i++) 
     { 
      GridViewRow row = GridView1.Rows[i]; 
      //Change Color back to white 
      row.BackColor = System.Drawing.Color.White; 
      //Apply text style to each Row 
      row.Attributes.Add("class", "textmode"); 
     } 
     GridView1.RenderControl(hw); 
     //style to format numbers to string 
     string style = @"<style> .textmode { mso-number-format:\@; } </style>"; 
     Response.Write(style); 
     Response.Output.Write(sw.ToString()); 
     Response.Flush(); 
     Response.End(); 
    } 

aber nicht richtig funktioniert und auf die Datei öffnet es Fehler folgenden ergibt „Excel kann die Datei nicht öffnen 'ChangeRequestList [2] .xlsx', weil die Datei nicht korrekt ist oder das Dateiformat ungültig ist. Überprüfen Sie, dass die Datei nicht beschädigt ist und dass die Dateierweiterung dem Format der Datei "

entspricht

Kann mir jemand helfen?

Dank

+0

Bitte bearbeiten Sie den Code richtig. Danke – Nayan

+0

Können Sie das Blatt in Excel ohne Fehler öffnen? Ja, bitte überprüfen Sie, ob es eine Anwendung gibt (lesen), die Ihre Datei sperrt. – Nayan

+0

Stellen Sie sicher, dass Sie die COM-Komponente "Microsoft Excel 12.0 Objektbibliothek" in der Projektverweisliste verwenden. – Nayan

Antwort

1

Hier finden Sie aktuelle this-Code - Ich habe es bereits und es funktioniert. Aber es produziert Klartext (CSV ich denke) und nicht xlsx, aber ich denke, dass sollte kein Problem sein.

Verwandte Themen