Ada*_*m H 1 c# excel excel-dna
我主要使用ExcelDNA/C#/ Excel.我基本上要做的是使用以下代码将多维数组(即一系列单元格)转换为奇异维数组:
private static string[] MultiToSingle(object[,] multiArray)
{
List<string> tempList;
string[] returnArray;
tempList = new List<string>();
//Add each element of the multi-dimensional Array to the list
foreach (object oneObj in multiArray)
{
tempList.Add(oneObj.ToString());
}
//Convert the list to a single dimensional array
returnArray = tempList.ToArray();
return returnArray;
}
Run Code Online (Sandbox Code Playgroud)
这是一种享受,在我的整个项目中使用了很多次,但是我想添加更多功能.
当我尝试使用包含空单元格的范围运行此函数时,它的错误非常可怕,此时我只有一个带有错误消息的try/catch,通知用户将N/A输入到任何空单元格中.
我真正想做的是,在这个函数中,也许,转换任何'null'或任何Excel存储空单元格的文本字符串"N/A".
也许只是:
tempList.Add(oneObj == null ? "n/a" : oneObj.ToString());
Run Code Online (Sandbox Code Playgroud)
如果您愿意,我还可以考虑如何提高效率:
string[] arr = new string[multiArray.Length];
int i = 0;
foreach (object oneObj in multiArray)
{
arr[i++] = oneObj == null ? "n/a" : oneObj.ToString();
}
return arr;
Run Code Online (Sandbox Code Playgroud)
这会删除中间列表和一些后备阵列副本.