我有一个我创建的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选项使文件按预期显示,但它不是一个可接受的解决方案,因为我们都知道最终用户希望一切都能完美地工作 . 有没有人有这方面的建议,经验或任何其他见解?非常感谢任何有用的东西!