SSMS查询到Excel W / O格式

我有一个查询结果如下:

记下PrimaryIdentifier值。

在这里输入图像说明

每当我将其导出到一个Excel文件,甚至将其复制到一个Excel文件。 看起来像:

在这里输入图像描述

无论如何,我可以出口或复制到Excel格式,没有格式?

将Excel中的格式更改为文本不能解决问题。

是否有任何可以做的查询本身的变化,以便我在Excel中获得所需的O / P? 显然,主标识符列需要是145231E44而不是1.45E + 49!

在粘贴值之前将文本格式设置为文本,如果您在粘贴之后尝试这样做,则由于值已经更改而为时已晚。

如果你不能这样做,那么在查询中,你可以用“X”作为前缀,这样它就可以作为文本处理。 不幸的是,你不能只用Excel的replacefunction来删除“X”,因为在testing中,它将被还原为一个数字。

您可以插入一列并将其格式化为文本,

Range("B1:B200").NumberFormat = "@" 

然后从A中将值取到B中,删除X:

 Range("B1").Value = Mid(Range("A1").Value, 2, 255) 

MS-Access是SQL Server和Excel之间的良好通道。

将SQL表连接到Access,以便您可以创build一个查询(我将其称为“Export_Query”)以从SQL Server表中获取所需的所有字段。

使用TransferSpreadsheet函数从查询复制到Excel:

 DoCmd.TransferSpreadsheet acExport, _ acSpreadsheetTypeExcel9, _ "Export_Query", _ "C:\temp\excel.xlsx", _ True 

Excel工作簿必须存在于您指定的位置。 只要你的PrimaryIdentifier被定义为一个string数据types(我使用了varchar ),你应该在excel文件中得到正确的结果。

我的testing表在SQL Server中看起来像这样:

源表中的Excel

在Excel中的结果如下所示:

Excel数据

我的问题的工作是:

使用=“[PrimaryIdentifier]”在select子句中包装参数(PrimaryIdentifier)

例如:SELECT'=“'+ PrimaryIdentifier +'”'FROM …. WHERE …

这样可以确保在复制或导出时,查询结果在Excel表格中保持相同的格式。