簡體   English   中英

使用Excel.Interop更快地訪問Range的方法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM