我有一个我创建的SSIS包,目前有以下步骤:
1 - 文件系统任务 - 复制Excel文件(.xlsx)以用作SSIS包输出的模板 . Excel文件有3个选项卡 - 一个没有数据,但是具有引用第二个和第三个选项卡上的值的公式 . 这是最终用户查看的页面(我们称之为end_user) .
2 - 数据流任务 - OLEDB源 - >数据转换 - > Excel目标(选项卡2,我们称之为raw_data) .
3 - 电子邮件任务 - 尚未实施,但将在产品的最后阶段,使其完全自动化 .
运行包完成后,我打开Excel文件,数据已写入raw_data,但在end_user上没有显示任何内容 . 这是我已经尝试过的,在Excel中解决这个问题:
-
文件 - >选项 - >公式 - >自动(它已经是) . 我也尝试了其他所有选择(自动除了数据表,手动,手动与重新计算工作簿,然后保存,然后返回自动) .
-
确保为raw_data和end_user中的每一列选择了适当的数据类型[即数字,货币,短日期等]
-
尝试将所有数据字段类型设置为常规
-
使用其他Excel文件作为模板 .
-
将公式复制到记事本中,在Excel中放置一个随机数代替公式,保存并关闭文件,重新打开,然后重新放入公式 .
-
删除SSIS包(.dtsx)并创建一个新包 .
-
创建Excel宏以在打开文件时强制更新公式 .
Private Sub Workbook_Open()
Application.Calculation = xlCalculationAutomatic
End Sub
-
在Office上运行修复 .
-
在Excel中按Ctrl Alt F9 . ( This makes the formulas recalculate, and does make the values show up the way they are supposed to. )
虽然Ctrl Alt F9选项使文件按预期显示,但它不是一个可接受的解决方案,因为我们都知道最终用户希望一切都能完美地工作 . 有没有人有这方面的建议,经验或任何其他见解?非常感谢任何有用的东西!