如何使用 Powershell 在整个 Excel 工作簿中搜索特定字符串



我需要在包含多个工作表的 excel 电子表格中搜索特定字符串。我正在寻找一种搜索 excel 文件全部内容的方法,类似于 Excel 中的"查找全部"选项,范围设置为工作簿而不仅仅是工作表。

如果常规文件中有类似于特定字符串的搜索字符串的内容,那就太好了,(即(

gci xcelfile.xls | select-string -pattern $mySearchString

我已经搜索了互联网,我没有看到太多使用Powershell搜索现有excel文件内容的现有信息。我希望我能在这里得到一些指示,让我达到我的目标。

任何帮助都非常感谢。 谢谢 唐

打开 Excel

加载文件

循环遍历每个工作表

搜索区域

循环查找下一个输出索引$Column$行

退出 Excel

$File = "C:TEST.xlsx"
$SearchString = "TEST"
$Excel = New-Object -ComObject Excel.Application
$Workbook = $Excel.Workbooks.Open($File)
for($i = 1; $i -lt $($Workbook.Sheets.Count() + 1); $i++){
$Range = $Workbook.Sheets.Item($i).Range("A:Z")
$Target = $Range.Find($SearchString)
$First = $Target
Do
{
Write-Host "$i $($Target.AddressLocal())"
$Target = $Range.FindNext($Target)
}
While ($Target -ne $NULL -and $Target.AddressLocal() -ne $First.AddressLocal())
}
$Excel.Quit()

最新更新