2011-07-28 146 views
0

我有一個簡單的問題,當試圖將List寫入Excel工作簿時。在串中的工作完美的,但問題是,如果使用循環從22B設置爲這是在列表 25B僅第一個值IM我如何把清單到ExcelC#。 microsoft interop excel

public List<string> _RoomType = new List<string>(); 
Excel.Range RoomType = (Excel.Range)_sheet.get_Range(_sheet.Cells[22, "B"] as Excel.Range, _sheet.Cells[25, "B"] as Excel.Range); 
for (int i = 0; i < _RoomType.Count; i++) 
      { 
       RoomType.set_Value(Type.Missing, _RoomType[i]); 

,如果我不使用「的」視覺工作室給我例外:從HRESULT異常:0x800A03EC 任何人都可以幫助我嗎?

+0

從這裏激勵自己: http://stackoverflow.com/questions/1059951/export-a-c-list-of-lists-to-excel 這是否幫助? – Trefex

回答

2

您需要將2維數組傳遞給set_Value方法。您必須確保列表中的項目數量等於您的範圍內的單元格數量。

Object[,] dataArray = new object[1, _RoomType.Count]; 
for (int i = 0; i < _RoomType.Count; i++) 
{ 
    dataArray[0, i] = _RoomType[i]; 
} 
RoomType.set_Value(Type.Missing, dataArray); 
+0

謝謝:)通過這種方式,你可以告訴我如何我可以節省Excel中的XPS? –

+0

@酸:不是從我的頭頂。嘗試在StackOverflow上提出一個新問題。 –

+0

好的,我會感謝:) –