You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过Microsoft.ACE.OLEDB从SQL Server更新Excel文件后公式无法自动更新的问题求助

通过Microsoft.ACE.OLEDB从SQL Server更新Excel文件后公式无法自动更新的问题求助

大家好,我最近在做一个SQL自动生成Excel文件的需求,用的是Microsoft.ACE.OLEDB.12.0驱动。我的步骤是先复制一份预先做好的Excel模板,然后把SQL临时表的数据插入到新文件的Data工作表,之后还要在Summary工作表设置比率分母,但现在卡在了第一步之后的公式更新问题上。

具体的SQL代码如下:

declare @someparam varchar(255) = 'Foo'
declare @filename varchar(512) 
declare @path varchar(2000)
declare @template varchar(2000)
declare @cmd varchar(4000)
declare @sql varchar(4000)

-- 生成带参数和日期的文件名
set @filename = concat('Some Doc - ', @someparam, ' - ', convert(varchar, getdate(), 112), '.xlsx')
set @path = '\\path\to\file'
set @template = '\\path\to\template.xlsx'

-- 复制模板到目标路径
set @cmd = 'copy /Y "' + @template + '" "' + @path + '\' + @filename + '"'  
exec xp_cmdshell @cmd 

-- 插入数据到Excel的Data工作表
set @sql = 'insert into OPENROWSET( ''Microsoft.ACE.OLEDB.12.0'',
                                    ''Excel 12.0;Database=' + @path + '\' + @filename + ';'',
                                    ''Select * From [Data$]''
                                  ) select * from ##some_data'
exec(@sql)

现在数据能成功插入到Data表,但Summary工作表里那些依赖Data表数据的公式完全不会自动计算,打开Excel后要么显示模板里的旧值,要么得手动按刷新才会出正确结果。我确认过模板里的自动计算是开启状态的,但通过OLEDB写入数据后就是不触发计算。

有没有前辈遇到过这种情况?有没有办法让Excel在数据更新后自动触发公式计算?或者有没有其他的处理思路?

备注:内容来源于stack exchange,提问作者Xingzhou Liu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 11:39:32