2011-01-17 9 views
1

グリッドビューのデータをExcel 2007、つまりxlsx形式にエクスポートしようとしています。しかしそれは与えるエラーです。Ms Excel 2007にグリッドビューをエクスポートする

私は次のコード

無効のButton1 Click(オブジェクト送信者、EventArgsの電子)

{ 
     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(); 
    } 

が、「Excelがファイルを開くことができません正しく、エラー 以下のことができますファイルを開くことに取り組んでいない保護を使用していますファイル のフォーマットまたはファイル拡張子が有効でないため、ファイルが ではなく、ファイル拡張子がファイルのフォーマットと一致するため、 'ChangeRequestList [2] .xlsx'と表示されます。

誰か助けてくれますか?

おかげ

+0

コードを正しく編集してください。ありがとう – Nayan

+0

Excelでシートを間違えずに開くことができますか?はい、はい、あなたのファイルをロックしているアプリケーション(読み取り)があるかどうかを確認してください。 – Nayan

+0

プロジェクトの参照で「Microsoft Excel 12.0 Object Library」COMコンポーネントを使用していることを確認してください。 – Nayan

答えて

1

thisコードを見てください - 私はすでにそれを使用し、それが働いています。 しかし、それは普通のテキスト(私は推測するとcsv)を生成し、xlsxは生成しませんが、それは問題ではないはずです。

関連する問題