2011-02-17 96 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> ";