使用Powershell从Excel中查询网站

我想使用PowerShell脚本从Excel工作表中获取数据来查询在线数据库

我用这个代码从PowerShell中打开电子表格

$xl = New-Object -COM "Excel.Application" $xl.Visible = $true $wb = $xl.Workbooks.Open("C:\Documents\Book4.xlsx") $ws = $wb.Sheets.Item(1) 

但我不能真正在电子表格,即参考单元上工作。 我需要的是select单个单元格的内容,存储在一个variables中,并用于填充在线数据库的查询。

我用这个代码来访问网站的url

 $IE=new-object -com internetexplorer.application $IE.navigate2("http://www.google.com") $IE.visible=$true 

但我一直无法填写表格或查询数据库。

请如何使用PowerShell来做到这一点? 谢谢

使用$ ws.Columns

示例(获取第2列第2行中的文本):

 $query = $ws.Columns[2].Rows[2].Text 

然后,您可以使用并使用查询string导航到谷歌,例如:

 $IE.navigate2(("http://www.google.com?q={0}" -f $query)) 

您也可以使用Range来获取单元格(如果有多个)并select它的文本。

示例(获取A2-A99之间的单元格,并select文本):

 $queries = $ws.Range("A2","A99")|select Text 

然后,如果你想迭代它们,你将有一个数组与考虑的问题。

十分感谢大家。

这段代码适用于谷歌,尽pipe您可能需要在浏览器启动时对查询进行一些格式化

 #To open spreadsheet $xl = New-Object -COM "Excel.Application" $xl.Visible = $true $wb = $xl.Workbooks.Open("C:\Users\Documents\Book4.xlsx") $ws = $wb.Sheets.Item("Team Sheet") #Incase of multiple sheets $queries = $ws.Range("D9")|select Text #specify cell use ("D9", "D99") for range #$queries #To open urls $IE=new-object -com internetexplorer.application $IE.navigate2(("http://www.google.com?q={0}" -f $queries)) $IE.visible=$true 

以防万一需要它