前提・実現したいこと
Excelのシートをコピーするため範囲を選びクリップボードに保存するとクリップボード先頭に挿入されている空白文字を削除したい
発生している問題・エラーメッセージ
画面表示、ファイル保存には先頭に空白文字はない?見えないだけ?
クリップボードに保存すると先頭に空白文字が挿入されている
該当のソースコード
powershell
1$excel = New-Object -ComObject Excel.Application 2$excel.Visible = $false 3 4$book = $excel.Workbooks.Open($args[0]) 5$sheet = $book.Sheets('Sheet1') 6 7$data = @() 8$sheet.UsedRange.Rows | ForEach-Object { $row = @($_.Columns).Text; $data += $row -join "`t" } 9 10$OutputEncoding = [Console]::OutputEncoding 11$data -join "`n" | ForEach-Object { $_.trimstart() } | clip 12 13$excel.Quit() 14$excel = $null 15[GC]::Collect()
試したこと
Write-Host $data
で表示すると先頭に空白はない
$data -join "`n" | Out-File -Encoding UTF8 .\outfile.tsv
ファイル保存でも先頭に空白はない
trimでも消えない
BOMなのかなと思うが除去する方法がわからない
補足情報(FW/ツールのバージョンなど)
Windows10 64bit
PowerShell 5.1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/28 08:19
2019/09/28 08:29