2011-08-28 44 views
0

我知道如何寫單細胞到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但正如我說的話有在Excel工作簿只有最後一項(6)名單

for (int i = 0; i < _ServiceName.Count; i++) 
      { 
       ServiceName.set_Value(Type.Missing, ServiceNameArray[0,i]); 
      } 

沒有人有想法嗎?

回答

1

我看到您在ServiceName數組上循環以逐個獲取所有值,但在每次循環迭代中都看不到您在單元格範圍內更改聚焦的單元格。當然,我會說,你只能看到最後一個值,因爲你總是把所有的值寫在同一個地方。

1

Davide Piras是對的。而且你在那裏做了其他一些奇怪的事情,我可以通過請求來闡述。

現在我只是想指出的是您可以直接分配一個範圍的.Value屬性數組

ServiceName.Value2 = _ServiceName.toArray(); 

這是很多,因爲大數據量的要快得多。

(附註:如果你想要做的公式一樣,一些奇怪的原因,你必須採取額外的步驟(倍增時間):除非有更好的方法我不

range.Formula = array; 
range.Formula = range.Formula; 

我不知道yet。)