我有一个通过SAP后端作业传送到文件夹的文件。 它以.MHTML文件的形式提供。我没有在SSIS中看到任何接受此扩展的Source Connections。
如何在启动SSIS包之前转换此扩展名。我只想将其转换为.xls或.xlxs,以便我可以设置Excel Source连接。
该文件每月保存现有文件,因此无需担心文件名更改或类似内容。文件简单以export.mhtml
的形式出现答案 0 :(得分:1)
如果您确定只是将扩展名更改为.xls或.xlsx会让您使用数据,那么您可以使用文件系统任务使用不同的扩展名重命名该文件,或使用该任务将文件复制到具有不同扩展名的不同目标文件夹。
答案 1 :(得分:1)
这是一个可能的解决方案。
要将文件从mhtml文档转换为更友好的SSIS格式,您可以使用此VBS脚本(改编自Convert XLS to CSV on command line)。
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
您可以使用&#34;执行流程&#34;在SSIS中运行它。将可执行文件设置为cmd.exe并将参数设置为
的任务/c "mhttoxls.vbs [sourcemhtFile].mhtml [destinationxlsfile].xls"
确保您还为文件设置了正确的工作目录。
获得xls文件后,您可以在数据流任务中设置Excel源连接以导入数据。
我希望这有帮助!