C#。 microsoft interop excel

时间:2011-07-28 10:32:26

标签: c# wpf excel interop

尝试将List写入excel工作簿时,我遇到了一个简单的问题。在字符串上它的工作完美,但问题是如何将列表放入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]);

如果我正在使用for循环,它只从22B到25B设置列表中的第一个值 如果我不使用'for'visual studio给我异常:来自HRESULT的异常:0x800A03EC 有谁可以帮助我?

1 个答案:

答案 0 :(得分: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);