xlsをtsvファイルに変換するvb.netスクリプト(SSIS ETLの一部として)を作成しています。 スペースImports Microsoft.Excel
には以下のコードを含めるようにしました。 、それは のような名前空間がないことを示す!どのような名前スペースエクセルオープンクローズを使用してvb.netの一環として 機能として保存するために含まれる oExcel.Workbooks.Open oBook.SaveAs(sTsvPath、-4158)VB.netで使用する名前空間。
vb.netコード
Public Sub Main()
Dim oExcel As Object
Dim oBook As Object
Dim sFileName As String
Dim sFileNameOnly As String
Dim sXlsPath As String
Dim sTsvPath As String
sFileName = CStr(Dts.Variables("User::Xls_File_Name").Value)
sXlsPath = "H:\Xls_Files\" + sFileName
sFileNameOnly = Path.GetFileNameWithoutExtension(sFileName)
sTsvPath = "H:\Xls_Files\" + sFileNameOnly + ".Txt"
oExcel = CreateObject("Excel.Application")
oBook = oExcel.Workbooks.Open(sXlsPath)
oBook.SaveAs(sTsvPath, -4158)
oBook.Close(False)
oExcel.Quit()
Dts.TaskResult = ScriptResults.Success
End Sub
「vb.net excel namespace」を検索しようとしましたか?ヒント:Interopを使いたい。 –
はい、Microsoft.Office.Interop.Excel名前空間 はMicrosoft Officeにのみ適用され、VBでは使用できません – user1254579
これは.Netに組み込まれていません。あなたはExcelをマシンにインストールしなければなりません。そして、interopアセンブリを使用してExcelインスタンスを開き、必要な作業を行うように指示する必要があります。はい、これは実際にExcelを起動することを意味します。 –