配列ヘッダーを抽出して順序を維持する

フォーク

配列からXLSファイルを作成する関数を作成しました。すべてがうまく機能しますが、配列からヘッダーを抽出するときに問題が発生します。

私のヘッダーは抽出後にアルファベット順に整理されていますが、入力配列と同じ順序に保ちたいと思います。

function DoTheMagicExcel {
    [cmdletbinding()]
    Param(
        <# Array to work on #>
        [Parameter( Mandatory = $true)]
        [ValidateNotNullOrEmpty()]
        [Array]$MyArray,
        <# Its Excel Sheet name #>
        [Parameter(Mandatory = $true)]
        [ValidateNotNullOrEmpty()]
        [alias('Sheet')]
        [string]$MySheetName,
        <# Excel file name #>
        [Parameter(Mandatory = $true)]
        [ValidateNotNullOrEmpty()]
        [ValidatePattern("\.(csv|xls)$")]
        [alias('XlsFile')]
        [string]$MyExcelFile
    )
    Begin {
        <# Init them all #>
        $excel = new-object -comobject Excel.Application
        $excel.visible = $False
        $excel.DisplayAlerts = $False
        $XlsAlreadyExist = $False
        if (Test-Path $MyExcelFile) {
            Write-Output "Fichier Excel deja existant"
            $XlsAlreadyExist = $true
            $workbook = $excel.Workbooks.open("$PSScriptRoot\$MyExcelFile")
            $workbook.Worksheets.Add() | Out-Null
            $workbook.WorkSheets.item(1).Name = $MySheetName
            $MySheet = $workbook.Worksheets.Item($MySheetName)
        }
        else {
            $workbook = $excel.Workbooks.Add()
            $workbook.WorkSheets.item(1).Name = $MySheetName
            $MySheet = $workbook.Worksheets.Item($MySheetName)
        }
        $MyHeadercolumn = 1
        $StartRow = 2
    }
    Process {
        $MyArrayHeader = $MyArray | Get-member -MemberType 'NoteProperty' | Select-Object -ExpandProperty 'Name'
        foreach ($header in $MyArrayHeader) {
            $MySheet.cells.item(1, $MyHeadercolumn).font.bold = $true
            $MySheet.cells.item(1, $MyHeadercolumn) = $header
            $MyHeadercolumn++
        }
        foreach ($ThisRow in $MyArray) { ......

私はこれを意味します

$AllBcksummary[1] |ft -AutoSize

Server       RG     Environment Availibility Vault   Status Regle                 Dernier Backup      Type
-------      --     ----------- ------------ ------  ------ -----                 --------------      ----
SEFRAPB0106  RG_AXL production  NOT SET      backup Healthy Policy14512-BDay-Prod 24/01/2018 19:22:15 AppConsistent


$MyArrayHeader = $AllBcksummary | Get-member -MemberType 'NoteProperty' | Select-Object -ExpandProperty 'Name'

$MyArrayHeader |ft -AutoSize
Availibility
Coffre
Dernier Backup
Environment
Regle
RG
Serveur
Status
Type

その後、Excelを作成すると、元の順序が保持されなくなります

foreach ($header in $MyArrayHeader) {
            $MySheet.cells.item(1, $MyHeadercolumn).font.bold = $true
            $MySheet.cells.item(1, $MyHeadercolumn) = $header
            $MyHeadercolumn++
        }

あなたがアイデアを持っているなら... :)ありがとう

lpaso

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

配列をマージして順序を維持する

分類Dev

配列を並べ替えて順序を維持する

分類Dev

ソートされていない大きな配列から重複を削除し、順序を維持する

分類Dev

ソートされていない大きな配列から重複を削除し、順序を維持する

分類Dev

配列を組み合わせて順序を維持しますが、ある配列の順序を別の配列よりも優先します

分類Dev

キーのルックアップを維持しながら、Javascriptオブジェクト/配列の順序を維持する方法は?

分類Dev

連想配列の順序を維持する方法は?

分類Dev

bash連想配列の挿入順序を維持する

分類Dev

パンダのto_csvメソッドで列の順序を維持する

分類Dev

PHP配列をグループに編成し、順序を維持する方法は?

分類Dev

順序を維持するためのパンダの列

分類Dev

Swift配列:別の配列を使用して配列をフィルタリングしている間、順序を維持します

分類Dev

配列を並べ替えて一致する要素をグループ化しますが、元の順序を維持します

分類Dev

BCPがヘッダー列の順序を変更する

分類Dev

RandomTimeOut(Javascript)を使用して出力の順序を維持する

分類Dev

問題は、ソートされていない配列から重複を削除し、時間内の順序を維持することですO(N)

分類Dev

ステップを収集して要約した後、ファクターの順序を維持する

分類Dev

パンダのデータフレームをjsonに保存するときは、列と行の順序を維持してください

分類Dev

配列の順序を維持しますが、値を変更します

分類Dev

jqueryファイルアップロードを使用してファイルの順序を維持する

分類Dev

キーの配列を使用して、「順序」を維持しながら別の配列をフィルタリングします

分類Dev

Apache Flink:メッセージの順序を維持しながら並行して実行する方法は?

分類Dev

文字列配列の一意の値を見つけて順序を維持する

分類Dev

Swift 3設定と順序の維持を使用して、別の配列に存在するオブジェクトを配列から削除します

分類Dev

Javascriptは配列を「グループ」でソートし、順序を維持します

分類Dev

最初の配列のサブセットを使用して2つの配列を「クロスオーバー」し、可能な場合は2番目の配列の順序を維持しようとしています

分類Dev

リクエスト時にセッションヘッダーの順序を維持するのに問題がある

分類Dev

Perl:2つの配列を組み合わせ、同一のヘッダーを削除し、フォーマットを維持する

分類Dev

順序を維持しながら、別の配列に基づいて配列内の一意の値を保持する

Related 関連記事

  1. 1

    配列をマージして順序を維持する

  2. 2

    配列を並べ替えて順序を維持する

  3. 3

    ソートされていない大きな配列から重複を削除し、順序を維持する

  4. 4

    ソートされていない大きな配列から重複を削除し、順序を維持する

  5. 5

    配列を組み合わせて順序を維持しますが、ある配列の順序を別の配列よりも優先します

  6. 6

    キーのルックアップを維持しながら、Javascriptオブジェクト/配列の順序を維持する方法は?

  7. 7

    連想配列の順序を維持する方法は?

  8. 8

    bash連想配列の挿入順序を維持する

  9. 9

    パンダのto_csvメソッドで列の順序を維持する

  10. 10

    PHP配列をグループに編成し、順序を維持する方法は?

  11. 11

    順序を維持するためのパンダの列

  12. 12

    Swift配列:別の配列を使用して配列をフィルタリングしている間、順序を維持します

  13. 13

    配列を並べ替えて一致する要素をグループ化しますが、元の順序を維持します

  14. 14

    BCPがヘッダー列の順序を変更する

  15. 15

    RandomTimeOut(Javascript)を使用して出力の順序を維持する

  16. 16

    問題は、ソートされていない配列から重複を削除し、時間内の順序を維持することですO(N)

  17. 17

    ステップを収集して要約した後、ファクターの順序を維持する

  18. 18

    パンダのデータフレームをjsonに保存するときは、列と行の順序を維持してください

  19. 19

    配列の順序を維持しますが、値を変更します

  20. 20

    jqueryファイルアップロードを使用してファイルの順序を維持する

  21. 21

    キーの配列を使用して、「順序」を維持しながら別の配列をフィルタリングします

  22. 22

    Apache Flink:メッセージの順序を維持しながら並行して実行する方法は?

  23. 23

    文字列配列の一意の値を見つけて順序を維持する

  24. 24

    Swift 3設定と順序の維持を使用して、別の配列に存在するオブジェクトを配列から削除します

  25. 25

    Javascriptは配列を「グループ」でソートし、順序を維持します

  26. 26

    最初の配列のサブセットを使用して2つの配列を「クロスオーバー」し、可能な場合は2番目の配列の順序を維持しようとしています

  27. 27

    リクエスト時にセッションヘッダーの順序を維持するのに問題がある

  28. 28

    Perl:2つの配列を組み合わせ、同一のヘッダーを削除し、フォーマットを維持する

  29. 29

    順序を維持しながら、別の配列に基づいて配列内の一意の値を保持する

ホットタグ

アーカイブ