使用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
以防万一需要它