Powershellを使用してCSVに処理したいExcelファイルがあります。 私はかなり具体的にそれを変更する必要がありますので、csv情報を処理するプログラムの信頼できる入力にすることができます。 正確なヘッダーはわかりませんが、重複する可能性があります。私は何をすべきか は、Excelとのxlsxファイル開いており、CSVとして保存します。名前を変更して区切り記号を使用してPowershellで.xlsxをcsvに処理する
今$objExcel = New-Object -ComObject Excel.Application
$objExcel.Visible = $True
$objExcel.DisplayAlerts = $True
$Workbook = $objExcel.Workbooks.open($xlsx1)
$WorkSheet = $WorkBook.sheets.item($sheet)
$xlCSV = 6
$Workbook = $objExcel.Workbooks.open($xlsx2)
$WorkSheet = $WorkBook.sheets.item($sheet)
$WorkBook.SaveAs($csv2,$xlCSV)
、XLSXファイルは、カンマのを持っていますので、最初私はドットにそれらを変更したいです。 は、私はこれを試してみましたが、それは働いていない:
$objRange = $worksheet.UsedRange
$objRange.Replace ",", "."
このエラーアウトと言って:予期しないトークン「『』」。
保存するときに区切り文字をカンマに設定する場合は、「;」を使用します。標準。 次のようなもの:
$WorkBook.SaveAs($csv2,$xlCSV) -delimiter ","
最後の問題は重複したヘッダーです。 PSがImport-CSVを使用するのを防ぎます。
Get-Content $downloads\BBKS_DIR_AUTO_COMMA.csv -totalcount 1 >$downloads\Headers.txt
しかし、私は私がレジオ、レギオ、レジオを持つことができるようにデ重複した名前の名前を変更する必要があります。ここで私は、ファイルがそれが動作カンマで区切られたときに、試してみました。 これをRegio、Regio2、Regio3に変更したい
私の計画は、txtのデータを検索し、重複を検索してから、増分数値を広告することでした。
最後に、増分の数値を持つ列を追加する必要がありますが、常に4つの数値が必要です。 0001、0002、0010、0020、0200、1500、私は9999を超えません。これはどのようにすることができますか?
あなたが私を助けることができれば、部分的にしか私は非常に満足しています。 また、Windows 7 x64、Powershell 3.0、Excel 2016(関連する場合) を実行しています。個人的に
ここでは、 ';'区切り文字(タイトルで識別されます)とcsvを保存するためのものと、ヘッダー用のものとの2つの質問をします。前者については、あなたの[デフォルトの言語設定](http://stackoverflow.com/questions/13496686/how-to-save-semi-colon-delimited-csv-file-using-vba)は何ですか?それは ';'に設定されていますか?後者の場合は、別の別のSOの質問をしてください。その質問には、1つのライナーではなく、広範なコーディングが必要です。 – Parfait