![](/img/trans.png)
[英]How do I insert value into dataset at runtime using microsoft SQL server in 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約束。
我對您的代碼進行了以下編輯:
SaveAs()
函數參數 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.