将多维数组(Object [,])转换为string []

时间:2014-07-15 08:13:22

标签: c# .net arrays

我遇到了一个简单的任务:在一维字符串[]中转换多维数组(Object [,])。

长话短说:我正在使用com库读取excel文件,该库返回在运行时转换为Object [,]的动态类型。

SortedSet<string> rows = new SortedSet<string>();
for (int i = 3; i <= 5; i++) 
{
    Microsoft.Office.Interop.Excel.Range range = worksheet.get_Range("A"+i, "J"+i);
    Array cells = (Array) range.Cells.Value; // value return dynamic [,] -> Object[,] -> cast to Array[,]
    string[] rowCells = ConvertArrayToStringArray(cells); // 
    rows.Add(string.Join("\t", rowCells));
}
return string.Join("\r\n", rows);

由于Array [,]总是有1行(我逐行读取excel文件)我想在不使用ConvertArrayToStringArray函数中的另一个循环的情况下将其强制转换为简单的字符串[](或List)。 / p>

我可以读取动作中的所有单元格(不像上面的代码那样逐行),但我不知道excel文件中有多少行。

我感谢任何帮助

1 个答案:

答案 0 :(得分:3)

string[] rowCells = cells.Cast<string>().ToArray();