我正在从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
}
答案 0 :(得分:1)
这应该有效: $ ExcelWorkSheet.Columns.item(7).find($值1).row