UPDATE: мій останній робочий код (без "." До "," зміна)
$files = Get-ChildItem C:UsersAlexDesktoptest*.txt
foreach ($file in $files) {
$a=(Get-item $file).BaseName
Import-csv -Path $file -Delimiter " " -Header "q", "Intensite", "Delta" |
Export-xlsx -Path C:UsersAlexDesktoptest$a.xlsx
}
Я зрозумів науковий експеримент, який дав мені багато результатів у декількох файлах .txt, і я хотів би, щоб кожен файл .txt створив файл .xls Excel з належним розташуванням.
Я знайшов робочий код PowerShell для перетворення .txt в .xls. Ось:
$files = Get-ChildItem C:UsersAlexDesktoptest*.txt
Write "Loading Files..."
$Excel = New-Object -ComObject Excel.Application
$Excel.Visible = $false
$Excel.DisplayAlerts = $false
foreach ($file in $files) {
$WorkBook = $Excel.Workbooks.Open($file.Fullname)
$NewFilepath = $file.FullName -replace ".{4}$"
$NewFilepath = $NewFilepath + ".xls"
$Workbook.SaveAs($NewFilepath, 56)
}
Stop-Process -ProcessName EXCEL
$Excel.Quit()"
Проте я не знаю, як:
- замінити всі точки "." комами ",",
- виконати макет.
В даний час результати (тільки номери) в Excel розташовані в рядку на 1 стовпці, але у мене є 3 числа на комірку розділені пропуском. Як відокремити 3 числа на комірку в 3 стовпцях?
Відповіді:
0 для відповіді № 1Я вважаю, що ваші вхідні файли відформатовані як "3 стовпці, розділені пропуском" так:
123 456 789 789 123 456 1 2 3 4 5 6 7 8 9
Ви можете скористатись PSExcel модуль, який має a Export-XLSX
команда
Get-ChildItem C:foldertxt-xl*.txt |
foreach {Import-Csv $_ -Delimiter " " -Header "Col1","Col2","Col3"} |
Export-XLSX -Path C:foldertxt-xlexport.xlsx
Ви можете відформатувати файл Excel, додати графіки та багато іншого, використовуючи цей модуль, більше інформації про це на сторінці github, до якої я зв'язався.