【发布时间】:2015-08-05 08:34:55
【问题描述】:
使用 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 中它们显示为货币字段。我可以将 Excel 中的列更改为标准或值,但在刷新连接后,这些列会变回货币值。
我将驱动程序名称从 SQL Server 更改为 SQL Server Native Client 10.0,因为这可能会产生影响,但我的日期时间字段 Faktuurdatum 也会显示为货币。
我该如何解决这个问题。
解决了作为货币部分的值。 它也适用于日期部分,但 Excel 不会将其视为日期,而是视为文本。
【问题讨论】:
-
您是如何在 Excel 中设置格式的?如果你去
Field Settings->Number Format,刷新后应该保留这个设置。 -
勾选或取消勾选此字段无效。
标签: sql-server excel sql-server-2008 excel-2013