如何阅读 Powershell 中的整个专栏
How to read a whole column in Powershell
我正在尝试编写一个 powershell 脚本,它将电子表格中列的内容输出到 txt 文件。我不知道 powershell,但我发现并弄清楚了如何获取单元格,现在我需要整个列。有问题的电子表格有 8K+ 行。这是我目前所拥有的:
$SMTPApprovedXLS = "c:\temp\SMTP\SMTPAPPLIST.XLS"
$SheetName = "Active"
$objExcel = New-Object -ComObject Excel.Application
$objExcel.Visible = $False
$Workbook = $objExcel.Workbooks.open($SMTPApprovedXLS)
$Worksheet = $Workbook.sheets.item($SheetName)
$startRow = 4
[pscustomobject][ordered]@{
ApprovedIPs = $Worksheet.Cells.Item(4,$startRow).Value()
}
该列是 "D",应该从第 4 行开始。
提前致谢。
您所要做的就是使用循环 运行 遍历所有条目并捕获数据。试试这个:
$SMTPApprovedXLS = "c:\temp\SMTP\SMTPAPPLIST.XLS"
$SheetName = "Active"
$objExcel = New-Object -ComObject Excel.Application
$objExcel.Visible = $False
$Workbook = $objExcel.Workbooks.open($SMTPApprovedXLS)
$Worksheet = $Workbook.sheets.item($SheetName)
$startRow = 4
$ApprovedIPs = @()
$count = $Worksheet.Cells.Item(65536,4).End(-4162)
for($startRow=4; $startRow -le $count.row; $startRow++)
{
$ApprovedIPs += $Worksheet.Cells.Item($startRow, 4).Value()
}
$ApprovedIPs | Out-File C:\ApprovedIPs.txt
请注意,最后一行是用所需数据创建 txt 文件的内容,其中 C:\
是目录,ApprovedIPs
是文件名。您可以将它们替换为您想要的文件位置和名称。
我正在尝试编写一个 powershell 脚本,它将电子表格中列的内容输出到 txt 文件。我不知道 powershell,但我发现并弄清楚了如何获取单元格,现在我需要整个列。有问题的电子表格有 8K+ 行。这是我目前所拥有的:
$SMTPApprovedXLS = "c:\temp\SMTP\SMTPAPPLIST.XLS"
$SheetName = "Active"
$objExcel = New-Object -ComObject Excel.Application
$objExcel.Visible = $False
$Workbook = $objExcel.Workbooks.open($SMTPApprovedXLS)
$Worksheet = $Workbook.sheets.item($SheetName)
$startRow = 4
[pscustomobject][ordered]@{
ApprovedIPs = $Worksheet.Cells.Item(4,$startRow).Value()
}
该列是 "D",应该从第 4 行开始。 提前致谢。
您所要做的就是使用循环 运行 遍历所有条目并捕获数据。试试这个:
$SMTPApprovedXLS = "c:\temp\SMTP\SMTPAPPLIST.XLS"
$SheetName = "Active"
$objExcel = New-Object -ComObject Excel.Application
$objExcel.Visible = $False
$Workbook = $objExcel.Workbooks.open($SMTPApprovedXLS)
$Worksheet = $Workbook.sheets.item($SheetName)
$startRow = 4
$ApprovedIPs = @()
$count = $Worksheet.Cells.Item(65536,4).End(-4162)
for($startRow=4; $startRow -le $count.row; $startRow++)
{
$ApprovedIPs += $Worksheet.Cells.Item($startRow, 4).Value()
}
$ApprovedIPs | Out-File C:\ApprovedIPs.txt
请注意,最后一行是用所需数据创建 txt 文件的内容,其中 C:\
是目录,ApprovedIPs
是文件名。您可以将它们替换为您想要的文件位置和名称。