Я использую SSIS для загрузки данных из Excel 2013 в SQL Server 2014. В одном столбце содержатся данные, длина которых превышает 255 символов. При использовании исходного задания Excel будет прочитан только первый 255 символ, усекающий остальные.
Я написал скрипт .vb, чтобы открыть файл и сохранить его как csv, сохраняя при этом все символы после 255, однако я не нашел, как сделать указанный лист активным, прежде чем сохранять его как файл csv.
Я решил преобразовать код в VB.Net, используя Microsoft.Office.Interop.Excel для доступа к файлу, однако мне все еще не удается получить правильный синтаксис. Я не могу найти что-либо для VB.Net, используя Microsoft.Office.Interop.Excel.
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, а не только ограничение Excel максимум 255 символов для одного поля.