2017-01-20 53 views
0

客戶端有一個必須使用的確切模板。由於格式的原因,我無法通過SSIS將數據直接插入到模板中。SSIS導出到Excel模板 - VLOOKUP

構思: 按計劃運行SSIS。它複製模板並填充信息。

我在同一工作簿中使用「參考」工作表來推送所有必要的數據,因爲我無法直接將其放置在所需的模板中。

「參考」表的VLOOKUP用於正確設置模板中的數據。

問題: VLOOKUP不會自動刷新數據。當我打開工作簿時,值是相同的。如果我更改參考表中的單元格,則數據會在VLOOKUP中更新。

解決方案:我需要的是一種設置SSIS中數據的方法,並讓VLOOKUP在Excel工作簿打開時自動重新檢查數據。

回答

0

解決 我已經解決了與下列

問題的問題,而無需手動開啓/改變影響細胞

=VLOOKUP(A1,Reference!$A2:$B6, 2, FALSE) 

發現的解決方案 的VLOOKUPs不會開放更新 有點黑客,但在參考工作表中:

  1. 向模板添加了「格式」行
  2. 在VLOOKUP參考列(參考!$ A2)中放置一個將被更新的公式(例如, 「格式」行中的「= TODAY()」)

現在,只要工作簿打開,Reference!$ A $ 2就會更新爲今天的日期。這會觸發模板中的VLOOKUP更新,因爲參考列中的值已更改。全過程是:

  1. Template.xlsx(2片:TemplateResults,和參考)
  2. SSIS - 複製Template.xlsx爲當前運行
  3. SSIS - 在Template.xlsx提取數據和地點 - 參考
  4. 打開CopiedTemplate.xlsx:參考!$ A $ 2將自身更新爲當前日期。觸發TemplateResults中的VLOOKUP以自行更新
+0

vba宏...有用的,如果數據只需要檢查/更新時首次打開,而不是每次打開。下面是我使用的宏。與上面的= TODAY()相同,但只會更新一次。(見下文) – EAB769

+0

'私人小組Workbook_Open() 昏暗數據表作爲Sheet 2中 昏暗dateCell作爲範圍 昏暗firstValueCell作爲範圍 昏暗sMyString作爲字符串 集數據表=工作表( 「參考」) 集dateCell = dataSheet.Range( 「B2」) 集firstValueCell = dataSheet.Range( 「A3」) 如果dateCell = 「WAIT」 與firstValueCell <> 「」 然後 dateCell.Value = 「HOLD」 結束如果結束 Sub' – EAB769