我使用以下powershell脚本将excel中的范围导入powershell。
$rc1 = $ws.cells.find("German")
if ($rc1)
{
$addr = $rc1.address(0, 0, 1, 0)
do
{
$rc2 = $rc1.Offset(0,1)
if ($rc2.Value2.Contains("Baseload"))
{
$rc3 = $rc1.Offset(3, 0)
$rangeStart = $rc3.Address(0,0,1,0)
$rc4 = $rc1.offset(13,3)
$rangeEnd = $rc4.Address(0,0,1,0)
$fullRange = ($ws.Range($rangeStart, $rangeEnd)).value2
$fullrange
break}
$rc1 = $ws.cells.findnext($rc1)
# write-host $rc1.value2
# write-host $rc2.value2
} until ($addr -eq $rc1.address(0, 0, 1, 0))
}
}
它查找字符串'german'然后如果找到它就会偏移一个单元格并查找单词'baseload'如果它发现它然后得到它下面的数据范围(已知大小)。
数据以下列格式显示(这不是所有数据)。
获取数据后,我想将其保存到sql表中,但由于powershell数据只是一个列表,我不确定我是否正在从excel正确导入数据,因为它不是表格格式。 excel范围是4列乘以14,其中powershell中显示的数据是列表。
希望这是有道理的。