如何把数组放入excel范围
我知道如何将单个单元格写入Excel中,但是当我试图在Excel数组表格填充只有最后一个值
这是我的范围
Excel.Range ServiceName = (Excel.Range)_sheet.get_Range(_sheet.Cells[38, "B"] as Excel.Range, _sheet.Cells[45, "B"] as Excel.Range);
_ServiceName是包含1,2,3,4,5,6的列表
for (int i = 0; i < _ServiceName.Count; i++) { ServiceNameArray[0, i] = _ServiceName[i]; }
这个我想写入excel,但正如我所说的,只有最后一个项目(6)在Excel的书
for (int i = 0; i < _ServiceName.Count; i++) { ServiceName.set_Value(Type.Missing, ServiceNameArray[0,i]); }
有没有人有一个想法?
我看到你在ServiceName数组上循环,依次获取所有值,但是在每次循环迭代中都看不到你在单元格范围内改变聚焦的单元格。 当然,我会说,你只能看到最后一个值,因为你总是把所有的值都写在同一个地方。
大卫皮拉斯是正确的。 而且你在那里做了其他一些奇怪的事情,我可以通过请求来阐述。
现在我只想指出,你可以直接将 Range的.Value
属性赋值 给一个数组 :
ServiceName.Value2 = _ServiceName.toArray();
对于更大量的数据,这要快得多。
(注意:如果你想对公式做同样的事情,出于某种奇怪的原因,你必须采取额外的步骤(加倍的时间):
range.Formula = array; range.Formula = range.Formula;
除非有更好的方法我还不知道。)