如何在批处理脚本中将文件从xlsx放到csv

如何在批处理脚本中将文件从xlsx放到csv,csv,batch-file,ssis,xlsx,Csv,Batch File,Ssis,Xlsx,当您最初将多个文件作为.xlsx保存时,如何将其作为.csv保存在sftp中。 手动转换是一项乏味的工作 这是我的剧本 @echo off "C:\Program Files (x86)\WinSCP\winscp.com" /ini=nul /log=E:\automation\Logs\Winscp.log /command "open sftp://xxxx:@sftplink -hostkey=""xxxxxxxxxxxxxxx""" "put E:\automation\Outpu

当您最初将多个文件作为.xlsx保存时,如何将其作为.csv保存在sftp中。 手动转换是一项乏味的工作

这是我的剧本

@echo off

"C:\Program Files (x86)\WinSCP\winscp.com" /ini=nul /log=E:\automation\Logs\Winscp.log /command "open sftp://xxxx:@sftplink  -hostkey=""xxxxxxxxxxxxxxx""" "put E:\automation\Output\* /folder/output/" "exit" 

从传统的只使用批处理脚本的文件中,如果没有一些VB脚本或powershell脚本,您将无法实现这一点

话虽如此,您可以在cmd中点击powershell来实现这一点:

PowerShell.exe install-module Import-Excel -scope CurrentUser -force
PowerShell.exe import-excel "C:\filepathHere" | Export-csv "C:\ExportPathHere" -Notypeinformation
这样做的原因是powershell模块利用.dll文件将excel文件实际读取到powershell对象中。导出CSV是一个本机powershell命令,用于将对象导出为CSV


使用此方法,您将不需要任何第三方工具

我花了一段时间才弄明白,但我是这么做的

我尝试在put命令中放入*.csv,结果成功了


放置E:\Output*/folder/Output/*.csv

在通过SFTP连接上载Excel文件之前,您需要一些转换软件将其导出为csv。我可以不使用任何转换软件进行此操作吗?必须进行一些操作。SFTP和FTP是协议。他们不做数据操作。您完全可以在没有任何第三方工具的情况下完成此任务,因为Vbscript和Powershell都可以完成此任务。这就是我开始研究的地方。这里有一些选项应该会有帮助:我尝试在put命令中放置*.csv,结果成功了put E:\Output\*/folder/Output/*.csv仅更改扩展名不会将文件内容转换为其他格式。将.jpg重命名为.txt不会神奇地实现OCR,将.xlsx铰为.csv不会神奇地将表格转换为文本。