我有包含单元格C11中的值的电子表格。 我想从Windows 10中的命令提示符中提取此值。如下所示:
c:>getValue [test.xlsx]sheet1!C11 // returns "this is the data" if that string is in c11
从命令行执行此操作最简单(最快)的方法是什么?
我知道我可以在Excel中编写一个macros,然后用macros打开Excel电子表格,然后在macros中打开数据电子表格来获取和input数据,但是我想要更快地完成这个工作,而不必打开完整的Excel程序。
这是一个PowerShell脚本。
$filePath = "c:\tmp\test.xlsx" $xl = New-Object -ComObject Excel.Application $xl.Visible = $true if (test-path $filePath) { $wb = $xl.Workbooks.Open($filePath) $ws = $xl.WorkSheets.Item("sheet1") write-host $ws.name #$c11Val = $ws.cells.Item(11, 3).value2 $c11Val = $ws.Range("C11").value2 write-host $c11Val } else { write-host $filePath + "WB not found" } $wb.close() $xl.quit()
像在命令行上执行,
C:\TMP>powershell.exe c:\tmp\get_C11.ps1
这实际上并没有从命令行解析单元格,工作表和工作簿,但正则表达式应该可以做到这一点,没有太多的问题。