c#.微软互操作excel

本文关键字:excel 互操作 微软 | 更新日期: 2023-09-27 18:04:02

在尝试将列表写入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有人能帮我吗?

c#.微软互操作excel

需要将一个二维数组传递给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);