2017-06-12 54 views

回答

1

您可以在此使用script task實現在DataFlow Task成功後執行。你必須Microsoft.Office.Interop.Excel組件添加到腳本任務引用和使用下面的代碼:(使用Vb.Net)

注:你必須Microsoft.Office.Interop.Excel.dll文件添加到以下目錄(.Net Framework dll目錄)C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727和(sql server數據工具dll目錄)C:\ Program Files \ Microsoft SQL Server \ 100 \ DTS \ Binn(使用vs 2005和SQL 2008),然後在你的腳本任務

Imports Microsoft.Office.Interop 

Public Sub Main() 

    Dim strFile as String = "C:\New Folder\1.xls" 
    Dim m_XlApp As New Excel.Application 
    Dim m_xlWrkbs As Excel.Workbooks = m_XlApp.Workbooks 
    Dim m_xlWrkb As Excel.Workbook 

    m_xlWrkb = m_xlWrkbs.Open(strFile) 

    'Loop over all worksheets 
    For Each m_XlWrkSheet As Excel.Worksheet In m_xlWrkb.Worksheets 

     'Columns  
     m_XlWrkSheet.UsedRange.Columns.AutoFit() 

     'Rows 
     m_XlWrkSheet.UsedRange.Rows.AutoFit() 


    Next 

    m_xlWrkb.Save() 
    m_xlWrkb.Close(SaveChanges:=True) 
    m_XlApp.Quit() 

End Sub 
+1

由於添加該DLL作爲一個參考!但我仍然有問題。我做了你所說的一切,我得到一些錯誤。我將發佈一個帶有錯誤的答案 –

+0

首先,您必須用您的excel路徑替換'c:\ new folder \ ..' – Hadi

+0

第二次嘗試在32位模式下運行程序包http://help.pragmaticworks.com/ dtsxchange/scr/faq%20-%20how%20to%20run%20ssis%20packages%20using%2032bit%20drivers%20on%2064bit%20machine.htm – Hadi