簡體   English   中英

如何使用 PowerShell 腳本修改 excel 數據並導出到文本文件?

[英]How to modify excel data and export to text file using PowerShell script?

第一次在這里發海報。 如果我沒有遵循發布此問題的最佳做法,我深表歉意。

我對腳本和 PowerShell 非常陌生。

問題:

我在 excel 表中有這種格式的數據。

Excel 數據圖像鏈接

1

我想修改這些數據並將其導出到文本文件中。 以這種格式。

所需 Output 圖像鏈接

2

到目前為止,我已經嘗試通過訪問每個單元格來修改 excel 數據。 要訪問每個單元格,我使用了下面提到的類似代碼。

 for (($i = 1); $i -lt 4; $i++)
{
$column=$ExcelWorkSheet.Columns.Item(1).Rows.Item($i).Text
$dataType=$ExcelWorkSheet.Columns.Item(2).Rows.Item($i).Text

$c1=("`"" + "$column" + "`""+":")
$c2=("`"" + "$dataType" + "`"" + ",")
$ExcelWorkSheet.Columns.Item(1).Rows.Item($i).Value=$c1
$ExcelWorkSheet.Columns.Item(2).Rows.Item($i).Value=$c2
}

我仍然不確定這是否是 go 的正確方法。

解決這個問題的最佳方法是什么?

只是想了解我應該怎么做才能解決這個問題。 我不是在尋找確切的代碼。

分步說明或一些資源會有所幫助。

謝謝!

這可能會有所幫助......也許......

# Import Stuff
$Data = Import-Csv -Path .\Desktop\data.csv

# New Array 
$Output = @()

# Run through Unique Owners
foreach ($Owner in ($Data | Select-Object OWNER -Unique)) {
    $Lines = $Data | Where-Object {$_.OWNER -eq $Owner.OWNER}
    # Lazy way to do a bit of checking, if same then use it or Break
    if ($Lines[0].TABLE_NAME -eq $Lines[1].TABLE_NAME) {
        $Out_TableName = $Lines[0].TABLE_NAME
        # ID and NAME data
        $Out_ID = $Lines | Where-Object {$_.COLUMN_NAME -eq "ID"} | Select-Object COLUMN_NAME, DATA_TYPE, DATA_LENGTH
        $Out_NAME = $Lines | Where-Object {$_.COLUMN_NAME -eq "NAME"} | Select-Object COLUMN_NAME, DATA_TYPE, DATA_LENGTH
    } else {
        # Show the user that something
        Write-Host "Problem with Owner ""$($Owner.OWNER)"" Data?!" -ForegroundColor Red
        Break
    }
    # Output into the array in format
    $Output += @"
"$($Owner.OWNER).$($Out_TableName)":{
"$($Out_ID.COLUMN_NAME)": "$($Out_ID.DATA_TYPE) ($($Out_ID.DATA_LENGTH))",
"$($Out_NAME.COLUMN_NAME)": "$($Out_NAME.DATA_TYPE) ($($Out_NAME.DATA_LENGTH))"
}

"@
}

# Put Output in a text file
$Output | Set-Content .\Desktop\output.txt -Force

我應該補充一點,我在 CSV 中有你的數據,就像這樣......

OWNER,TABLE_NAME,COLUMN_NAME,DATA_TYPE,DATA_LENGTH
A,Employee,ID,NUMBER,22
A,Employee,NAME,VARCHAR2,22
B,Department,ID,NUMBER,23
B,Department,NAME,VARCHAR2,24

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM