我有一个文件夹,可以在.xls format
中接收多个Excel文件。我需要将格式类型更改为.xlsx
,以便将Excel数据加载到SQLvia SSIS中。我知道如何使用" 文件系统任务"重命名文件。但这适用于特定文件。但我的文件包含一个文件#和日期,需要保持与源文件相同,我只希望文件类型更改,文件移动到已处理的文件夹。任何人都可以帮助我吗?
Source Path: C:\Documents\TestFolder
Source File: TestSegRpt_0001_2017_02_22.xls
Destination Path: C:\Documents\TestFolderProcessed
Destination File: TestSegRpt_0001_2017_02_22.xlsx
答案 0 :(得分:0)
希望我能正确理解你的问题。
我认为以下链接会有所帮助。
答案 1 :(得分:0)
您必须添加Script Task
,循环文件,并使用以下函数创建 precessed 目录并转换文件(Vb.net中的代码)< / EM>:
Public Sub ConvertXlsToXlsx(ByVal strpath as string)
Dim strDirectory as string = System.IO.Path.GetDirectoryName(strpath) & "Processed"
If Not System.IO.Directory.Exists(strDirectory) Then System.IO.Directory.CreateDirectory(strDirectory)
Dim xl As New Microsoft.Office.Interop.Excel.Application
Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
xlWorkBook = xl.Workbooks.Open(strpath)
xlBook.SaveAs(strDirectory & "\" & System.IO.Path.GetFilename(strpath) & "x")
xl.Application.Workbooks.Close()
xl.Application.Quit()
End Sub
您的代码如下:
Public Sub Main
Dim strFolder as string = Dts.Variables.Item("FolderPath").Value
Dim strXlsFiles() as string = IO.Directory.GetFiles(strFolder,"*.xlsx",SearchOption.TopDirectoryOnly)
For each strFile as String in strXlsFiles
If strFile.EndsWith("xlsx") The Continue For
ConvertXlsToXlsx(strFile)
Next
End Sub
<强>参考:强>