C# 将多个范围复制到一个数组

C# 将多个范围复制到一个数组,c#,excel,C#,Excel,我有一个包含10列的excel文件。我必须根据名称选择多个列,然后将所有值复制到一个数组中 第一步,我尝试获取列索引 string columnsName; var columnsNumbers = new List<int>(); for (int i = 1; i < range.Columns.Count; i++) { columnsName = ((Range) range.Cells[1, i]).Value2; if(columnsName.Equal

我有一个包含10列的excel文件。我必须根据名称选择多个列,然后将所有值复制到一个数组中

第一步,我尝试获取列索引

string columnsName;
var columnsNumbers = new List<int>();
for (int i = 1; i < range.Columns.Count; i++)
{
   columnsName = ((Range) range.Cells[1, i]).Value2;
   if(columnsName.Equals("Empl, "+DateTime.Now.Year,StringComparison.OrdinalIgnoreCase))
     columnsNumbers.Add(i);
   if (columnsName.Equals("Test, " + DateTime.Now.Year, StringComparison.OrdinalIgnoreCase))
      columnsNumbers.Add(i);
   if (columnsName.Equals("Jour, " + DateTime.Now.Year, StringComparison.OrdinalIgnoreCase))
      columnsNumbers.Add(i);
   if (columnsName.Equals("Actual, Other Suppliers, " + DateTime.Now.Year, StringComparison.OrdinalIgnoreCase))
      columnsNumbers.Add(i);
   if (columnsName.Equals("FutureR, " + DateTime.Now.Year+1, StringComparison.OrdinalIgnoreCase))
      columnsNumbers.Add(i);
 }
字符串列名称;
var columnsumbers=新列表();
对于(int i=1;i
现在,我在列表中添加了目标索引,如何获取存储列索引的值并将所有值存储在2d数组中?

谷歌帮助

您可以看到如何获得两个单元格之间的范围

与(与此相反,将数组写入范围)一起,您可能会了解如何将范围读入数组


一旦你有了所有列的数组,你所要做的就是找出你的最终数组应该有哪些维度,创建它,然后开始用代码复制另一个问题。。。你用双点。。。我认为这可能是COM互操作,所以您可能想阅读此@我不明白这个链接和我的问题有什么关系?我在释放com对象时没有问题。。。如果您使用COM互操作访问excel,您迟早会遇到这个问题。。。同时,请看下面的答案。嗯,这不是目前的问题