Привет пытался извлечь данные из файла Excel и сохранить его в формате CSV с помощью powershell. Мне нужен столбец B, чтобы быть заголовком и значения в столбце D во второй строке. У меня 53 строки.
снимок экрана файла Excel
Я написал приведенный ниже код powershell, который сохраняется в виде файла CSV, но кодировка неправильная. Когда я использую terraform csvcode, он выдает ошибку.
$strPath = "C:\project.xlsx"
$AssetInv = "C:\project.txt"
$AssetInvcsv = "C:\project.csv"
$objExcel = New-Object -ComObject Excel.Application
$objExcel.Visible = $false
$WorkBook = $objExcel.Workbooks.Open($strPath)
$worksheet = $workbook.sheets.item("Sheet1")
$c = 2
for ($r = 3; $r -le 53; $r++)
{
$Data = 0
$Data = $worksheet.Cells.Item($r, $c).Value2
$Data1= [string]$Data
$Data1 + "," | Out-File -filepath $AssetInv -append -NoNewline -Encoding utf8
}
$c = 4
for ($r = 3; $r -le 53; $r++)
{
$Data = 0
$Data = $worksheet.Cells.Item($r, $c).Value2
$Data1= [string]$Data
$Data1 + "," | Out-File -filepath $AssetInv -append -NoNewline -Encoding utf8
}
$objExcel.quit()
Я могу исправить эту проблему, сохранив файл как TXT-файл, а затем снова импортировав и экспортировав как CSV. Я не хочу сохранять его как TXT и снова импортировать и экспортировать как CSV. Как мне это сделать?
import-csv $AssetInv -delimiter "," | export-csv $AssetInvcsv -NoTypeInformation