【发布时间】:2014-07-15 08:13:22
【问题描述】:
我遇到了一个简单的任务:将多维数组 (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 文件),我想将其转换为简单的 string[](或 List),而不使用 ConvertArrayToStringArray 函数中的另一个循环。
我可以读取动作中的所有单元格(不是像上面的代码那样逐行读取),但我不知道 excel 文件中有多少行。
感谢您的帮助
【问题讨论】: