0
我有一個過程,它將查找單元格中的值並將其與數組進行比較,然後它將使用第二個數組中的相應值替換該值。加快文件的Excel PowerShell修改
該腳本正在工作,但我正在研究如何調整它並使其更快。
$ColorCodes = "001", "002", "003"
$FAColors = "Blue", "Red", "White"
$XLSXDoc = "c:\Users\w0517\Desktop\ColorCodes.xlsx"
$SheetName = "Sheet1"
$Excel = New-Object -ComObject "Excel.Application"
$Workbook = $Excel.workbooks.open($XLSXDoc)
$Sheet = $Workbook.Worksheets.Item($SheetName)
$WriteData = $Excel.WorkSheets.Item($SheetName)
$RowCount = ($Sheet.usedRange.rows).count
write-host The Excel Sheet Has $RowCount Rows
For ($J=2; $J -le $RowCount; $J++)
{
$MainColor = $Sheet.Cells.Item("$J",2).Text
$ArrayIndex = [array]::IndexOf($FAColors, $MainColor)
$WriteData.Cells.Item("$J",2) = $ColorCodes[$ArrayIndex]
}
$Excel.Visible = $true
會嘗試儘快給您 – 2014-11-23 18:22:24
爲什麼值會被插入如int,雖然單元格格式類型是文本,但它顯示2而不是002 – 2014-11-23 22:01:46
@ AhmedAl-Haffar使用單引號將值前綴以防止出現這種情況。 – 2014-11-23 23:47:10