Excel 不会滚动 SQL 存储过程的值

Excel 不会滚动 SQL 存储过程的值

我有一个 Excel 文件,其中我刷新了来自 SQL 存储过程的值(列 A、B、C)。

在 D 列,特别是在单元格 D2 中,我添加了一个日期公式,如图所示。

每当我刷新值时,公式仅显示在第一行和最后一行,其他单元格保持空白。它应该自动滚动,这是什么问题?

在此处输入图片描述

答案1

有两种解决方案:

1-SQL Server 中的 datediff 函数允许您比较两个日期之间的时间差异,以实现相同的期望输出

例子:

SELECT Number, [Date], [Total], datediff(day,'1899-12-30',[Date]) as Column1
FROM ....
WHERE ....

2- 使用演示存储过程中的相同数据集在本地设置测试后。我已确定您的解决方案是确保您已在数据源属性中选中保留列排序/过滤器布局,然后清除单元格并重新输入公式。下次程序更新新数据时,它应该保留现有公式。经过测试,至少对我来说是这样。

以下是错误重现情况: 样本测试

解决方案如下: 解决方案

答案2

Power Query 插件是一种将 SQL 数据集成到 Excel 的更现代、更强大、更灵活的方法。

https://support.office.com/en-us/article/Import-Data-from-Database-using-Native-Database-Query-Power-Query-f4f448ac-70d5-445b-a6ba-302db47a1b00?ui=en-US&rs=en-US&ad=US

您可以使用添加自定义列来执行类似的数据计算,例如

= Date.From ( [Date] ) - Date.FromText ( "1899-12-30" )

Power Query 的结果可以传送到 Excel 表中。

答案3

如果你在 SQL Server 中遇到有关存储过程的问题,我建议大家观看 SQL Server 存储过程的视频教程,其中包含使用存储过程的不同方法存储过程

相关内容