我想使用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)
但我无法真正处理电子表格,即参考单元格。 我需要的是选择单个单元格的内容,存储在变量中并用于填充在线数据库的查询。
我使用此代码访问网站网址
$IE=new-object -com internetexplorer.application
$IE.navigate2("http://www.google.com")
$IE.visible=$true
但我无法填写表格或查询数据库。
请问如何使用PowerShell执行此操作? 感谢
答案 0 :(得分:1)
使用$ ws.Columns
示例(获取第2栏第2行中的文字):
$query = $ws.Columns[2].Rows[2].Text
然后您可以使用查询字符串并使用导航到谷歌,例如:
$IE.navigate2(("http://www.google.com?q={0}" -f $query))
您也可以使用范围来获取单元格(如果是多个)并选择它的文本。
示例(在A2-A99之间获取单元格,并选择文本):
$queries = $ws.Range("A2","A99")|select Text
如果你想迭代它们,那么你将会有一个包含查询的数组。
答案 1 :(得分:0)
非常感谢你们。
此代码适用于谷歌,但您可能需要在浏览器启动时对查询进行一些格式化
#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
万一有人需要它