У меня есть файл Excel с несколькими листами, и мне нужно преобразовать один указанный лист c в текстовый файл с помощью Powershell. Я «позаимствовал» скрипт, который выполняет преобразование, но он не указывает, какой лист, поэтому он просто выполняет первый.
$FolderLoc = "D:\Information Services\Data\"
$files = Get-ChildItem $FolderLoc\*.xlsx -recurse
$Excel = New-Object -ComObject Excel.Application
$Excel.visible = $false
$Excel.DisplayAlerts = $false
ForEach ($file in $files) {
Write "Loading File '$($file.Name)'..."
$WorkBook = $Excel.Workbooks.Open($file.Fullname)
$NewFilePath = [System.IO.Path]::ChangeExtension($file.Fullname,".txt")
$Workbook.SaveAs($NewFilepath, 42) # xlUnicodeText
}
# cleanup
$Excel.Quit()
Специфический c лист, который мне нужно преобразовать, называется «Все детали». ». Я пытался вставить строку для идентификации листа, но ни одна из них не сработала.
$FolderLoc = "D:\Information Services\Data"
$files = Get-ChildItem $FolderLoc\*.xlsx -recurse
$Excel = New-Object -ComObject Excel.Application
$Excel.visible = $false
$Excel.DisplayAlerts = $false
ForEach ($file in $files) {
Write "Loading File '$($file.Name)'..."
$WorkBook = $Excel.Workbooks.Open($file.Fullname)
**$worksheet = "All Detail"**
$NewFilePath = [System.IO.Path]::ChangeExtension($file.Fullname,".txt")
$Workbook.SaveAs($NewFilepath, 42) # xlUnicodeText
}
# cleanup
$Excel.Quit()