有没有办法使用 VBscript 代码在 Mac 上将 CSV 转换为 XLS?
Is there a way to convert a CSV into XLS on Mac with VBscript code?
我需要一种程序化的方式来将下载的 CSV 文件重复转换为 XLS 文件,本质上是保持文件的相同名称,每次只替换 XLS 文件。我在 Mac 10.12 上工作,并且精通命令行,但还没有找到无需下载第三方库即可执行此操作的简单方法。我找到了一个答案,为我提供了一个可以在 PowerShell 上使用的 VBscript,但我需要一些帮助。
我已经下载了 PowerShell,并且可以在终端中使用它。我有来自 :
的这个脚本
Dim file, WB
With CreateObject("Excel.Application")
On Error Resume Next
For Each file In WScript.Arguments
Set WB = .Workbooks.Open(file)
WB.SaveAs Replace(WB.FullName, ".csv", ".xlsx"), 51
WB.Close False
Next
.Quit
End With
WScript.Echo "Done!"
使用参数执行此脚本(在 PowerShell 中)的命令是什么?
我尝试了多种执行命令,但总是得到 CommandNotFoundException
,可能是因为我做错了。我在这里的理想结果是 Desktop/data.csv
可以重复地变成 Desktop/data.xls
,无论是使用这个脚本还是对 Mac 用户来说更容易的东西。
谢谢!
*为 specificity/simplification
编辑
我认为 Mac 上没有本地解决方案可以做到这一点。
我知道的最简单的解决方案是使用 Gnumeric,这是一个具有终端界面的 open-source 电子表格。
使用 Homebrew 安装 Gnumeric:
brew install gnumeric
然后你可以在终端中使用:
for f in *.csv; do ssconvert $f ${f%.csv}.xls; done
如果需要使用 Powershell,这也应该有效:
gci *.csv | %{ssconvert $_ ($_.BaseName + ".xls")}
您也可以按照建议使用 ImportExcel 模块,但据我所知,它只会按要求转换为 .xlsx 而不是 .xls:
Install-Module -Name ImportExcel -RequiredVersion 5.4.2
gci *.csv | %{Import-Csv $_ | Export-Excel ($_.basename + ".xlsx")}
或者您可以将扩展名从 .csv 更改为 .xls,Excel 文件打开时会显示一条错误消息,但仍会自动进行转换。
我需要一种程序化的方式来将下载的 CSV 文件重复转换为 XLS 文件,本质上是保持文件的相同名称,每次只替换 XLS 文件。我在 Mac 10.12 上工作,并且精通命令行,但还没有找到无需下载第三方库即可执行此操作的简单方法。我找到了一个答案,为我提供了一个可以在 PowerShell 上使用的 VBscript,但我需要一些帮助。
我已经下载了 PowerShell,并且可以在终端中使用它。我有来自
Dim file, WB
With CreateObject("Excel.Application")
On Error Resume Next
For Each file In WScript.Arguments
Set WB = .Workbooks.Open(file)
WB.SaveAs Replace(WB.FullName, ".csv", ".xlsx"), 51
WB.Close False
Next
.Quit
End With
WScript.Echo "Done!"
使用参数执行此脚本(在 PowerShell 中)的命令是什么?
我尝试了多种执行命令,但总是得到 CommandNotFoundException
,可能是因为我做错了。我在这里的理想结果是 Desktop/data.csv
可以重复地变成 Desktop/data.xls
,无论是使用这个脚本还是对 Mac 用户来说更容易的东西。
谢谢!
*为 specificity/simplification
编辑我认为 Mac 上没有本地解决方案可以做到这一点。 我知道的最简单的解决方案是使用 Gnumeric,这是一个具有终端界面的 open-source 电子表格。
使用 Homebrew 安装 Gnumeric:
brew install gnumeric
然后你可以在终端中使用:
for f in *.csv; do ssconvert $f ${f%.csv}.xls; done
如果需要使用 Powershell,这也应该有效:
gci *.csv | %{ssconvert $_ ($_.BaseName + ".xls")}
您也可以按照建议使用 ImportExcel 模块,但据我所知,它只会按要求转换为 .xlsx 而不是 .xls:
Install-Module -Name ImportExcel -RequiredVersion 5.4.2
gci *.csv | %{Import-Csv $_ | Export-Excel ($_.basename + ".xlsx")}
或者您可以将扩展名从 .csv 更改为 .xls,Excel 文件打开时会显示一条错误消息,但仍会自动进行转换。