Powershell schreiben der Daten in excel-Datei

in der Hoffnung etwas Hilfe zu bekommen mit dem, was ich bin versuchen zu erreichen.

ich habe zwei arrays $ActiveUsers und $InactiveUsers mit 4 Felder und folgende Daten in den einzelnen

$ActiveUsers = fahe532|Allyson Sullivan|34563|Cain,Ashley J
               pers274|Martha Walsh|53732|Mckenny,Josh
               fgh8458|Kayla Benson|95463|Trot,Cook K
               ndcf846|Sam Huff|56737|Mcghee,John
               vdfg456|Mark Jones |67843|Hart,Josh W
               fasf345|Amber Sean|24678|John,Kneel G

$InavtiveUsers = fasd034|Colin Hart|35473|David, Casper
                 aertp56|Andy Matthews|56849|Debby, Gould K
                 ahshb86|Mark Michael|46848|Ty, Justin H
                 gkr5057|Josh Meeker|56848|Ashley, Rhonda R
                 irrk106|Tom Mortin|64838|Becks, Alan
                 eqer348|Nathan Willis|469894|Baker ,John T

Nun, ich bin versucht zu ziehen, die jede Zeile aus $ActiveUsers und hinzufügen, um eine excel-Datei ich bin erstellen. Ich Tat das gleiche für jede Zeile in $InactiveUsers und fügte Sie in ein neues Excel-Datei

Gab es eine leichte änderung in der Anforderung, statt zwei arrays in zwei Excel-Dateien habe ich alles in einer excel-Datei, Auch ich brauche zu markieren(mit Farbe) die Zeilen, ich bin immer von $InactiveUsers in eine excel-Datei, wo ich bin schreiben alles.

Gibt es eine Möglichkeit, kann ich eine Schleife durch zwei arrays simultaneoulsly und schreiben von Zeilen in einer excel-Datei von higlighting die Zeilen, die ich von $InactiveUsers? Unten ist das, was ich bisher schrieb

$ExcelObject = new-Object -comobject Excel.Application  
$ExcelObject.visible = $false 
$ExcelObject.DisplayAlerts =$false
$date= get-date -format "yyyyMMddHHss"
$strPath1="o:\UserCert\Active_Users_$date.xlsx" 
if (Test-Path $strPath1) {  
  #Open the document  
$ActiveWorkbook = $ExcelObject.WorkBooks.Open($strPath1)  
$ActiveWorksheet = $ActiveWorkbook.Worksheets.Item(1)  
} else {  
# Create Excel file  
$ActiveWorkbook = $ExcelObject.Workbooks.Add()  
$ActiveWorksheet = $ActiveWorkbook.Worksheets.Item(1)  

#Add Headers to excel file
$ActiveWorksheet.Cells.Item(1,1) = "User_Id"  
$ActiveWorksheet.cells.item(1,2) = "User_Name" 
$ActiveWorksheet.cells.item(1,3) = "CostCenter"
$ActiveWorksheet.cells.item(1,4) = "Approving Manager"
$format = $ActiveWorksheet.UsedRange
$format.Interior.ColorIndex = 19
$format.Font.ColorIndex = 11
$format.Font.Bold = "True"
} 
#Loop through the Array and add data into the excel file created.
foreach ($line in $Activeusers){
     ($user_id,$user_name,$Costcntr,$ApprMgr) = $line.split('|')
      $introw = $ActiveWorksheet.UsedRange.Rows.Count + 1  
      $ActiveWorksheet.cells.item($introw, 1) = $user_id  
      $ActiveWorksheet.cells.item($introw, 2) = $user_name
      $ActiveWorksheet.cells.item($introw, 3) = $Costcntr
      $ActiveWorksheet.cells.item($introw, 4) = $ApprMgr 
      $ActiveWorksheet.UsedRange.EntireColumn.AutoFit();
      }

Ich wiederholte die oben für $InactiveUsers.

InformationsquelleAutor user1411254 | 2013-07-01
Schreibe einen Kommentar