如何查找值的行号

时间:2015-12-08 19:47:45

标签: excel powershell

我正在从CSV文件中导入值(value1,Value2,Value3和Value4)4个值。然后我打开Excel文件,其中已经填充了许多其他参数。现在我试图在column7中找到value1的匹配值并找到行号。然后我将其他3个值填充到12,13和14中。

我在查找行号时遇到问题。

以下代码是否正确?

$ImportedValues = Import-Csv "c:\123.csv"

$ExcelSourceFile = "$env:userprofile\Desktop\fileexcel.xlxs"
$SheetName = "Sheet1"
$ExcelSourceObj = New-Object -ComObject Excel.Application
$ExcelSourceObj.Visible = $true
$ExcelWorkbook = $ExcelSourceObj.Workbooks.Open($ExcelSourceFile, 2, $True)
$ExcelWorkSheet = $ExcelWorkbook.Worksheets.Item($SheetName)

foreach ($ImportedValue in $ImportedValues) {
  $value1 = $ImportedValue | select -ExpandProperty Value1
  $value2 = $ImportedValue | select -ExpandProperty Value2
  $value3 = $ImportedValue | select -ExpandProperty Value3
  $value4 = $ImportedValue | select -ExpandProperty Value4

  $i = $ExcelWorkSheet.Column(7).find($value1).row
  $ExcelWorkSheet.Cells.Item($i,12) = $value2
  $ExcelWorkSheet.Cells.Item($i,13) = $value3
  $ExcelWorkSheet.Cells.Item($i,14) = $value4
}

1 个答案:

答案 0 :(得分:1)

这应该有效: $ ExcelWorkSheet.Columns.item(7).find($值1).row