Convierta XLS a CSV en la línea de comando
¿Cómo podría convertir un archivo XLS a un archivo CSV en la línea de comando de Windows?
La máquina tiene instalado Microsoft Office 2000. Estoy abierto a instalar OpenOffice si no es posible usar Microsoft Office.
Aceptado
Abra el Bloc de notas, cree un archivo llamado XlsToCsv.vbs y péguelo en:
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"
Luego, desde una línea de comando, vaya a la carpeta donde guardó el archivo .vbs y ejecute:
XlsToCsv.vbs [sourcexlsFile].xls [destinationcsvfile].csv
Sin embargo, esto requiere que Excel esté instalado en la máquina en la que se encuentra.
Una versión ligeramente modificada de la respuesta ScottF, que no requiere rutas de archivo absolutas:
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 = 6
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
He cambiado el nombre del script a ExcelToCsv, ya que este script no se limita en absoluto a xls. xlsx Funciona bien, como era de esperar.
Probado con Office 2010.