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中的结果如下所示:
我的问题的工作是:
使用=“[PrimaryIdentifier]”在select子句中包装参数(PrimaryIdentifier)
例如:SELECT'=“'+ PrimaryIdentifier +'”'FROM …. WHERE …
这样可以确保在复制或导出时,查询结果在Excel表格中保持相同的格式。