csv - 使用命令行将 .CSV 转换为 .XLSX

标签 csv command-line vbscript

我正在寻找一种批量转换一系列 .csv 的方法文件到 .xlsx使用命令行。

我尝试了一堆我发现的不同的 VBScript,但它们似乎都在转换 .xlsx.csv而不是相反。

这是我能找到的最接近的,但同样是 .xlsx.csv :

if WScript.Arguments.Count < 2 Then
    WScript.Echo "Error! Please specify the source path and the destination. Usage: XlsToCsv SourcePath.xls Destination.csv"
    Wscript.Quit
End If
Dim oExcel
Set oExcel = CreateObject("Excel.Application")
Dim oBook
Set oBook = oExcel.Workbooks.Open(Wscript.Arguments.Item(0))
oBook.SaveAs WScript.Arguments.Item(1), 6
oBook.Close False
oExcel.Quit
WScript.Echo "Done"

有任何想法吗?

最佳答案

唯一的先决条件是文件名中的“.csv”必须是小写:

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!"

关于csv - 使用命令行将 .CSV 转换为 .XLSX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31606394/

相关文章:

csv - 在drf中导入csv文件

php - MySQL - 在 PHP 中使用一对多映射连接表

command-line - 如何识别 CVS 中存在哪些分支?

java - 如何在 Java 中解析命令行参数?

powershell - 将日期而非日期添加到文件名的脚本

c++ - 当不再有对象引用时,COM 会自动卸载 DLL 吗?

mysql - 如何将 csv-import 西里尔文本导入 PhpMyAdmin 中的 latin1-swedish-ci 编码表中?

sql-server - SSIS包如何在每次包运行时向文件名添加日期/时间戳

Ruby 程序在终端中无法正常运行

python - 使用 VB 或 python 编写 OpenOffice 表单脚本