簡體   English   中英

如何使用Microsoft.Office.Interop.Excel在SSIS 2013中找到VB.Net的正確語法?

[英]How do I find the right syntax for VB.Net in SSIS 2013 using Microsoft.Office.Interop.Excel?

我正在使用SSIS將數據從Excel 2013加載到SQL Server 2014.一列的數據超過255個字符。 使用源Excel任務只會讀取前255個字符,截斷其余部分。

我寫了一個.vb腳本來打開文件並將其保存為csv,同時保持所有char超過255,但是我還沒有找到如何在將其保存為csv文件之前激活指定的工作表。

我決定使用Microsoft.Office.Interop.Excel將代碼轉換為VB.Net來訪問該文件,但是我仍然無法獲得正確的語法。 我使用Microsoft.Office.Interop.Excel找不到VB.Net的任何內容。

Public Sub Main()

    Dim FilePath As String = "I:\DSS Clarity\Clarity Technical\METADATA MINING\INPUT_SAP_BO_UNIVERSE_FILES\"
    Dim FileName As String = "UNV Universes.xlsx"


    Dim excel As Microsoft.Office.Interop.Excel.Application = New Microsoft.Office.Interop.Excel.Application
    excel.DisplayAlerts = False

    ' Open Excel spreadsheet.
    Dim wb As Workbook
    wb = excel.Workbooks.Open(FilePath & FileName)

    'wb.Worksheets.Select("Tables")    <-- need to make the Tables sheet active - how do i do that?


    wb.SaveAs(FilePath & Left(FileName, InStrRev(FileName, ".")) & "csv", 24)
    wb.Close()

    Dts.TaskResult = ScriptResults.Success
End Sub

我希望看到以csv格式保存的指定工作表的所有數據,而不僅僅是一個字段的max 255 char的excel約束。

我對您的代碼進行了以下編輯:

  1. 我在保存之前選擇了第一張工作表
  2. 我編輯了SaveAs()函數參數
  3. 您必須使用腳本末尾的excel.Quit()命令關閉應用程序
Public Sub Main()

    Dim FilePath As String = "I:\DSS Clarity\Clarity Technical\METADATA MINING\INPUT_SAP_BO_UNIVERSE_FILES\"
    Dim FileName As String = "UNV Universes.xlsx"


    Dim excel As Microsoft.Office.Interop.Excel.Application = New Microsoft.Office.Interop.Excel.Application
    excel.DisplayAlerts = False

    ' Open Excel spreadsheet.
    Dim wb As Workbook
    wb = excel.Workbooks.Open(FilePath & FileName)

    wb.Worksheets(0).Select(Type.Missing) 'Or try wb.Worksheets(0).Select()

    wb.SaveAs(FilePath & Left(FileName, InStrRev(FileName, ".")) & "csv", Excel.XlFileFormat.xlCSV,Excel.XlSaveAsAccessMode.xlNoChange)
    wb.Close(false)
    excel.Quit()

    Dts.TaskResult = ScriptResults.Success

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM