[英]Faster way to access Range using Excel.Interop
我知道兩種方法-
_xlWorksheet.Range[_xlWorksheet.Cells[1, 1], _xlWorksheet.Cells[10, 10]].Value2 = myarray.ToArray();
要么
_xlWorksheet.Range["A1", "J10"].Value2 = myarray.ToArray();
要么
還有其他更快的方法嗎?
據我了解,當我使用
_xlWorksheet.Range[_xlWorksheet.Cells[1, 1], _xlWorksheet.Cells[10, 10]]
將有三個呼叫互操作。 但是,如果
_xlWorksheet.Range["A1", "J10"]
只會打一個電話。
我不確定哪個會更快。
據我了解您的問題,選擇.Range[_xlWorksheet.Cells[1, 1], _xlWorksheet.Cells[10, 10]]
或Range["A1", "J10"]
時沒有“快速”方法相同。
在Excel中,您可以通過以下某些方式引用范圍,例如A1:A10
。
Debug.Print Sheets("Sheet1").Range("A1:A10").Address
Debug.Print Sheets("Sheet1").Range(Sheets("Sheet1").Range("A1"), Sheets("Sheet1").Range("A10")).Address
Debug.Print Sheets("Sheet1").Range(Sheets("Sheet1").Cells(1, 1), Sheets("Sheet1").Cells(10, 1)).Address
選擇以上其中一項將不會決定性能。 什么將決定其表現是如何你讀/寫他們
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.