通过SSIS转换文件扩展名

我有一个文件通过SAP后端作业传递到文件夹。 它以.MHTML文件forms提供。 我没有看到SSIS中的任何源连接将接受此扩展。

在启动SSIS包之前,如何转换此扩展名。 我只是想将其转换为.xls或.xlxs,以便我可以设置Excel源连接。

该文件保存在现有的每个月,所以不用担心文件名称的变化或类似的东西。 简单的文件来作为export.mhtml

如果您确定只要将扩展名更改为.xls或.xlsx就可让您使用数据,则可以使用文件系统任务以不同的扩展名重命名文件,或使用任务将文件复制到不同的目标文件夹用不同的扩展名。

这是一个可能的解决scheme。

要将文件从mhtml文档转换为更适合SSIS的格式,可以使用此VBS脚本( 在命令行上将XLS转换为CSV )。

if WScript.Arguments.Count < 2 Then WScript.Echo "Please specify the source and the destination files. Usage: ExcelToCsv <xls/xlsx source file> <csv destination file>" Wscript.Quit End If csv_format = 50 '50 for normal xls or 6 for csv Set objFSO = CreateObject("Scripting.FileSystemObject") src_file = objFSO.GetAbsolutePathName(Wscript.Arguments.Item(0)) dest_file = objFSO.GetAbsolutePathName(WScript.Arguments.Item(1)) Dim oExcel Set oExcel = CreateObject("Excel.Application") Dim oBook Set oBook = oExcel.Workbooks.Open(src_file) oBook.SaveAs dest_file, csv_format oBook.Close False oExcel.Quit 

将此文件另存为mhttoxls.vbs或类似文件,您可以按如下所示运行它。

 mhttoxls.vbs [sourcemhtFile].mhtml [destinationxlsfile].xls 

你可以在SSIS中使用“执行进程”(Execute Process)任务运行它,该任务将可执行文件命名为cmd.exe,参数为

 /c "mhttoxls.vbs [sourcemhtFile].mhtml [destinationxlsfile].xls" 

确保你也为你的文件设置了正确的工作目录。

一旦你有你的xls文件,那么你可以在数据stream任务中设置一个Excel源连接来导入你的数据。

我希望这有帮助!