我知道有两种方式 -
_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"]
只会有一个电话。
我不确定哪一个更快。
答案 0 :(得分:1)
据我所知,你的问题没有"快速"选择Range["A1", "J10"]
或A1:A10
时的方式相同。
在Excel中,您可以通过某些方式引用范围,例如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
Dynamic SQL
选择上述之一将 NOT 确定效果。什么将确定性能如何您读/写