2017-05-22 36 views
0

gridviewコンテンツをExcelファイル(xlsx拡張子)にエクスポートする際に問題があります。 私はxls拡張子のようにエクスポートできますが、xlsxはエクスポートできません。 私のコードは次のとおりです。誰も私を助けることができますしてください場合は、それは素晴らしいことだ、それは動作しませんGridviewをxlsx形式にエクスポート

Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; 

#region === EXPORT GRID A EXCEL === 

protected void imgBtn_Consol_Export_Click(object sender, ImageClickEventArgs e) 
{ 
    Response.Clear(); 
    Response.AddHeader("content-disposition", "attachment;filename=Lotes.xls"); 

    Response.Charset = ""; 
    Response.Cache.SetCacheability(HttpCacheability.NoCache); 
    Response.ContentType = "application/vnd.xlsx"; 


    System.IO.StringWriter stringWrite = new System.IO.StringWriter(); 
    System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite); 
    gvwLotConsol_Plant.RenderControl(htmlWrite); 

    //style to format numbers to string 
    string style = @"<style> TD { mso-number-format:\@; } </style>"; //para formato texto 
    Response.Write(style); 

    Response.Write(stringWrite.ToString()); 
    Response.End(); 

} 

public override void VerifyRenderingInServerForm(System.Web.UI.Control control) 
{/* Verifies that the control is rendered */} 

#endregion 

私はxlsファイル拡張子を使用してみましたが、動作しません、私は試してみました。

よろしくお願いいたします。

+0

「機能しません」は、問題の有用な説明ではありません。 Officeアプリで「拡張機能強化」を導入して以来、データをHTML形式でエクスポートしてExcelヘッダーを送信することは、しばらくの間、問題となっていました。基本的に、コンテンツをExcel形式で表示する場合は、実際にはExcel形式で*する必要があります。 –

+0

excelでgridviewデータをエクスポートするための有益な記事https://codepedia.info/export-gridview-to-excel-in-asp-net-c/ –

答えて

0

コードはxlsまたはxlsxファイル形式で保存されません。これは、xlsまたはxlsx拡張子を持つhtmlファイルを保存します。 HTMLはテキストファイル形式で、Excelファイル形式はバイナリ形式です。 HTMLファイルが開いているとき、MS Excelは矛盾を認識し、警告を発します。

実際のXLSXファイルを保存する場合は、Open XML,NPOIまたはEasyXLSのようなExcelライブラリを使用する必要があります。

関連する問題