使用Excel 2013 Standard和SQL Server 2008 R2。
我已经使用此连接创建了一个数据透视表:
DRIVER=SQL Server Native Client 10.0;SERVER=sqlserver;
UID=xxx;PWD=yyy;APP=Microsoft Office 2013;
WSID=CVH2014021;DATABASE=VH_Datawarehouse;
SELECT [Klantnummer]
,cast([Faktuurdatum] as datetime) as 'Faktuurdatum'
,[Grootboek_Transactie]
,[Grootboek_BTW]
,[Kostenplaats_Transactie]
,[LitersGetankt]
,[Netto_Euro_bedrag]
,[BTW_Euro_bedrag]
FROM [VH_Datawarehouse].[dbo].[ds_Selectie_Aanlevering_Tankgegevens]
WHERE (Faktuurdatum >= dateadd(dd,-120,getdate()))
and GegevensBron = 'Shell'
Grootboek_Transactie / Grootboek_BTW / Kostenplaats_Transactie列都是int字段,但在Excel中它们显示为Currency字段。我可以将Excel中的列更改为标准值或值,但刷新连接后,列将更改回货币值。
我将驱动程序名称从SQL Server更改为SQL Server Native Client 10.0,因为这可能会产生影响,但我的日期时间字段Faktuurdatum也会显示为货币。
我该如何解决这个问题。
解决了货币部分的价值。 它也适用于日期部分,但Excel不会将其视为日期,而是文本。
答案 0 :(得分:1)
试试这个,我希望你能
select * ,
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE( Grootboek_Transactie ,CHAR(9),' ')
,CHAR(13),' ')
,CHAR(10),' ')
,CHAR(32),' ')
,CHAR(34),' ') AS Grootboek_Transacti_1
答案 1 :(得分:0)
现在在您的SQL输出中,您有最后一列Grootboek_Transacti_1 ,,,,将其粘贴到Excel中。它将保持原样。(不预期货币兑换)