在Excel中查找文本

我正在编写一个脚本,以自动从各种SQL数据库中获取报告,这些数据库目前每个月手动运行一次。 到目前为止,我有一个工作原型,将读取一个SQL数据库,并将信息parsing成一个Excel文件,保存,然后通过电子邮件发送给某人。

我想要能够做的是另一个Excel文件叫做emails.xlsx。 这个文件将有三列:电子邮件(A),服务器(B),数据库(C)。 我希望能够在文件中search第2列中的任何内容,并从这些行中获取电子邮件,并将它们放入var中。

#Import Email Details $emailPath = "C:\temp\emails.xlsx" $sheetName = "emails" $workBook1 = $excel.Workbooks.Open($emailPath) $worksheet = $workBook1.sheets.Item($sheetName) $cell = 1; $CcCheck = $worksheet.Range.("A1").Text; FOREACH($dbase in $worksheet.Range("C1").EntireColumn) { DO{ $CcCheck = $worksheet.Range("A$cell").Text; if($CcCheck -ne " ") { $data = $worksheet.Range("C$cell").Text; $server = $worksheet.Range("B$cell").Text; $Cc += ", $CcCheck"; $cell++ } } while($foreach.MoveNext() -eq $foreach.Current) } Write-Host " Loaded Server, $cell Emails and DB" -ForegroundColor "Green"; Write-Host ""; 

 Import-Csv .\emails.csv -Header emails,server,database | Foreach-Object{ $dataSource = $_.server $dataBase = $_.database 

这通过在将excel文件转换为CSV之后引用标题来解决问题。