如何防止数据以科学forms显示?

我有这个SQL服务器查询,我运行在我的.net应用程序。

(CONVERT(VARCHAR(8), EventDate, 112)+ substring(RequestedBy,1,1)+right( '0000000' + convert( varchar( 7 ), ContactID ), 7 )) as Contacts 

它以下列格式产生以下结果:

20120731e0000001 20120731f0000002 20120731p0000003

这是我们想要的结果和格式。

问题是当我们点击导出图标将这些结果导出为ex​​cel时,第一个转换为2.01E + 08这样的科学格式。

20120731 * e * 0000001等中间有e的date变成科学数据。

剩下的就好了。

任何想法如何解决这一问题?

我想提前道歉,如果我在标签部分贴错了标签,因为我不知道修复可能来自哪里。

当您直接用Excel打开导出的数据文件时,所有格式都设置为常规。 在通用格式中,Excel将格式应用于数字和date。 所以,要清楚的是,问题不在于您的导出,而在于Excel如何在默认情况下读取您的数据。 尝试以下解决此问题。

导出为CSV。 然后,而不是在Excel中打开CSV,使用Excel的“ 从文本获取外部数据 ”工具将数据导入到一个空的工作簿。 在这里,您可以指定将此字段视为TEXT而不是GENERAL。

请注意,一旦Excel将数字(或date)格式应用于单元格,单元格中的数据已更改。 没有应用新的格式将带回您想要的数据。 为此,您必须 Excel打开文件之前指定格式。

当Excel打开您的导出文件时,格式化正在发生。 只需将列更改为具有“格式化文本”的string,使其显示为原始格式。