PowerShell: ◆CSVファイルをExcelで開くを少しだけ変更してみた。
CSVファイルは文字列項目をダブルコーテーションで囲んでいるケースが多々ある。
そんな場合はその項目だけに文字列属性を指定してあげることで、前回不満だった数値項目が左寄せされてしまう(計算とかも出来なくなる)のを回避できそうだ。
私のあやふやな正規表現での判定文を追加した。
$_ -match '".*"'
001 002 003 004 005 006 007 008 009 010 011 | $path = $args[0] $item = (Get-Content $path -TotalCount 1) -split ',' $item | %{$atts = @()}{if($_ -match '".*"'){$atts += 2}else{$atts += 1}} $excel = New-Object -Com Excel.Application $excelBook = $excel.Workbooks.Add() $excel.Visible = $true $query = $excel.ActiveSheet.QueryTables.Add( "TEXT;$path",$excel.Application.Range('$A$1')) $query.TextFileCommaDelimiter = $true $query.TextFileColumnDataTypes = $atts $query.Refresh($false) | Out-Null |
0 件のコメント:
コメントを投稿