2

データ (コンマ区切りの数字) をグリッド ビューに表示していますが、必要に応じて表示されます。ただし、Excelにエクスポートすると、表示に関して値が変更されます

例: 私の値は 901155465, 978785496, 987458986 で、901,155,465,978,785,496,987,458,986 と表示されます。

これは、データセットをExcelに渡す方法です。HTML もレンダリングできることはわかっていますが、データのみを転送する必要がありました。


GridView GridView1 = new GridView();
GridView1.DataSource = myDataSet;
GridView1.DataBind();
string style = @" .text { mso-number-format:\@; }  "; 
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=Report.xls");
Response.Charset = "";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
esponse.ContentType = "application/vnd.ms-excel";
System.IO.StringWriter s_Write = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter h_write = new HtmlTextWriter(s_Write);
GridView1.ShowHeader = true;
GridView1.RenderControl(h_write);
Response.Write(style); 
Response.Write(s_Write.ToString());
Response.End();

Excelは数字を1つの数字として扱い、適切な場所にカンマを追加しているようです。

グリッドビューに示されているようにデータを表示するソリューションはありますか?

前もって感謝します

4

5 に答える 5

11

これを試して:

_worksheet.Cells[1, 1] = "=\"" + YOUR_VALUE + "\"";

それがInterop.Excelを使用した方法です

Excel は数式を開始するため (=) を無視し、二重引用符はその値を文字列として使用するよう Excel に指示します。

于 2012-05-22T08:36:59.850 に答える
8

Excel スタイルシートをエクスポートすることもできます。

mso-number-format:"0"   NO Decimals

http://cosicimiento.blogspot.fr/2008/11/styling-excel-cells-with-mso-number.html

そのため、次の場所に書き込む必要がありますResponse

// ...
string style = @"<style> td { mso-number-format:"0"; } </style> ";
// Style is added dynamically
Response.Write(style);
Response.Write(s_Write.ToString());
// ...
于 2012-05-22T09:37:51.650 に答える