如何将具有多个工作表的Excel文件转换为一组TSV文件?

在下面的代码中,要添加到cconvert的附加clde excel文件与多张到Tsv文件。

注意:下面的代码转换一个excel文件到一张到Tsv.It不处理多张表的Excel表

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) enter code here oExcel.Quit() Dts.TaskResult = ScriptResults.Success End Sub 

您可以使用Microsoft.Office.Interop.Excel执行该任务(请注意,您需要先引用该名称空间)。

作为@stuartdbuild议您可以创build一个摘要工作表,其中将包含所有工作表根据您的工作表结构(请参阅代码中的我的评论)或(如果它适合您的需要),您可以保存每个工作表在一个不同的TSV文件For Each循环。
这里是一个testing的例子,显示了原理:

 Imports Microsoft.Office.Interop Imports Microsoft.Office.Interop.Excel Public Sub Main() Dim xlApp As New Excel.Application Dim xlWorkBook As Excel.Workbook Dim xlWorkSheet As Excel.Worksheet xlApp.Visible = False ' create a new workbook (you can open existing workbooks using the Open() method) ' xlWorkBook = xlApp.Workbooks.Add() ' create sheet 1 ' xlWorkSheet = xlWorkBook.Worksheets.Add() xlWorkSheet.Name = "ws1" xlWorkSheet.Range("a1").Value = "hello from worksheet1" ' create sheet 2 ' xlWorkSheet = xlWorkBook.Worksheets.Add() xlWorkSheet.Name = "ws2" xlWorkSheet.Range("a1").Value = "hello from worksheet2" ' worksheet that contain both worksheets ' xlWorkSheet = xlWorkBook.Worksheets.Add() xlWorkSheet.Name = "summary" ' paste all sheets data inside the summary sheets (i dont know how your excel sheets are structured but you can select entire ranges and arrange them on the summary worksheet) ' Dim counter As Int16 = 1 For Each w As Worksheet In xlWorkBook.Worksheets If w.Name <> "summary" Then xlWorkSheet.Cells(counter, 1) = w.Range("a1") counter += 1 End If Next xlApp.DisplayAlerts = False ' save as tsv file ' xlWorkBook.SaveAs("c:\xxx\xxx\Book4.tsv", XlFileFormat.xlTextWindows, CreateBackup:=False) End Sub