我正在使用Interop在C#中使用Excel。我需要两个细胞。这就是我得到它们的方式:
cells = (Excel.Range)sheet.get_Range("V" + i, "W" + i);
System.Array values = (System.Array)cells.Cells.Value;
这将返回我想要的值,并使用foreach
循环进行测试。但是如何将元素转换为string
变量?我试过这个:
var stringValues = values.Cast<string>();
但如果不引发错误,我无法以任何方式访问它。
答案 0 :(得分:3)
一个简单的ConvertAll
就足够了:
var stringValues = Array.ConvertAll(values, item => (string)item);
答案 1 :(得分:0)
代码var stringValues = values.Cast<string>();
正在尝试将数组转换为字符串。所以,如果你想要一个字符串数组,你可以尝试:
var stringValues = new List<string>();
values.ToList().ForEach(cellValue=>stringValues.Add(cellValue.ToString());
这是我的头脑,可能有一种表达这种
的方式答案 2 :(得分:0)
您可以尝试:
values.Select(o => o.ToString());