我遇到了一个简单的任务:在一维字符串[]中转换多维数组(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文件中有多少行。
我感谢任何帮助
答案 0 :(得分:3)
string[] rowCells = cells.Cast<string>().ToArray();