如何从 excel 中提取数据,使得第一列包含机器的详细信息,第二列包含多个用户名,并且读取 excel 就像它将删除从第 2 列到第 1 列中写的机器名称的所有用户。我尝试过的脚本-
清除全部
工作表名称 = @()
$excel=new-object -com excel.application
$wb=$excel.workbooks.open("c:\users\administrator\my_test.xls")
for ($i=1; $i -le $wb.sheets.count; $i++)
{
$sheetname+=$wb.Sheets.Item($i).Name;
}
但无法读取我想要运行的格式。
答案1
在Powershell中,您可以使用强大的ImportExcel
模块来处理各种Excel数据:
# First-time setup, install the module:
Install-Module ImportExcel
# Import the module:
Import-Module ImportExcel
# Now, import the data from your existing excel document:
$Sheet = Import-Excel -Path 'c:\folder\file.xlsx' -WorksheetName Sheet1
# Display the data by using the column names:
$Sheet | Select 'Computername','Username'
您没有说明您的数据是什么样的,或者您想用它做什么,但这里有一个例子:
# List the data, except the users for certain computername values
$Filtered = $Sheet | Where Computername -NotLike "*BadComputer*" |
Select Computername,User
# Export the manipulated data back to a new excel sheet
$Filtered | Export-Excel -Path 'c:\folder\file.xlsx' -WorksheetName FilteredSheet