|
示例如下:注意,所有的数值类型都为double,int类型的,是由于公式引起的错误类型.
- //与vba一样,直接赋值给一个二维数组变量即可.得到的是行列维度都是1基的数组
- object[,] array = wrk.get_Range("A1").CurrentRegion.Value;
- //定义一个同样是二维1基的数组 ,来存放结果
- //使用Array的静态方法CreateInstance来创建,参数1指定数组元素类型,参数2指定每个维度的可容纳元素个数,参数3,指定对应参数2每个维度的最小下标
- object[,] resultArray = (object[,]) Array.CreateInstance(typeof(object), new int[] { array.GetUpperBound(0), array.GetUpperBound(1) }, new int[] { 1, 1 });
- int inputRowIndex = 0;
- for (int irow = 2; irow <= array.GetUpperBound(0); irow++)
- {
- //级次为4的行取出
- int value = Convert.ToInt32(array[irow, 4]);//由于数组是object类型,因此最好是先做类型转换
- if (value == 4)
- {
- inputRowIndex++;
- for (int icol = 1; icol <= array.GetUpperBound(1); icol++)
- {
- resultArray[inputRowIndex, icol] = array[irow, icol];
- }
- }
- }
复制代码 |
评分
-
1
查看全部评分
-
|