2011-02-17 37 views
2

當我將GridView導出到Excel時,GridView中有一個字符串(1008901023816550000000)以某種方式被保存爲Excel中的科學編號(1.0089E + 21)。數據格式問題。將GridView導出到Excel

我正在使用.Net 4.0。

這裏是我試過了,但他們並沒有解決這個問題:

  1. 新增DataFormatString = 「{0:綠}」 的綁定列標籤。
  2. 設置調用RenderControl後的樣式。字符串樣式= @「.text {mso-number-format:\ @;}」;

誰能解釋一下這個問題嗎?

+1

在值之前插入一個單引號(```)來強制Excel將它視爲字符串而不是數字?不知道它是否可以編程,但它可以直接手動輸入Excel。 – 2011-02-17 17:34:41

+0

@馬克乙:謝謝。我剛剛嘗試過,但'1008901023816550000000與單引號也將被存儲。 – zsong 2011-02-17 17:51:04

回答

1

假設你正在使用CSV文件來執行導出:

這是Excel中的一個怪癖,很難撼動。我所知道的唯一的想法是使用CSV文件中這樣的格式來嘗試:

="1008901023816550000000" 

這將迫使它是返回所需的文本的公式。

+0

但雙引號也會被保存... – zsong 2011-02-17 19:44:25

3

試試這個,它會工作。

string style = @"<style> TD { mso-number-format:\@; } </style> ";