Как преобразовать файл XLS на основе XML в XLSX? - PullRequest
0 голосов
/ 17 мая 2019

У меня есть куча файлов XLS. При открытии файла я получил приглашение: format and extension don't match

Позже я обнаружил, что это старый файл XLS на основе XML. По этой причине я не мог напрямую импортировать эти файлы в R или SAS.

Я пытался открыть один и использовать Сохранить как, чтобы сохранить файл в любом формате, поддерживаемом R и SAS, например XLSX или CSV и т. Д.

Проблема в том, что существуют сотни файлов, которые невозможно открыть и сохранить как один за другим.

Будет замечательным любой процесс, который я могу включить в процесс PowerShell.

1 Ответ

1 голос
/ 17 мая 2019

Попробуйте это решение PowerShell:

$Excel = New-Object -Com Excel.Application

foreach ($File in (gci *xls)) {
$Workbook = $Excel.Workbooks.Open($File.FullName) 
$Workbook.SaveAs(($File.FullName + "x"), 51) 
$Workbook.Close($false)}

$Excel.Quit() 

Или, если вы хотите файлы в csv:

$Excel = New-Object -Com Excel.Application

foreach ($File in (gci *xls)) {
$Workbook = $Excel.Workbooks.Open($File.FullName) 
$Workbook.SaveAs($File.FullName.Replace(".xls",".csv"), 6) 
$Workbook.Close($false)}

$Excel.Quit()
...