【问题标题】:C#. microsoft interop excelC#。微软互操作excel
【发布时间】:2011-07-28 18:45:29
【问题描述】:

我在尝试将 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 谁能帮帮我?

【问题讨论】:

标签: c# wpf excel interop


【解决方案1】:

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

【讨论】:

  • 谢谢 :) 顺便问一下,你能告诉我如何在 xps 中保存 excel 吗?
  • @Acid:不是我的想法。尝试在 StackOverflow 上提出一个新问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-04
  • 2010-12-27
  • 1970-01-01
  • 1970-01-01
  • 2018-04-25
  • 2017-10-12
  • 2011-04-11
相关资源
最近更新 更多