static void OpenExcel()
{
int[,] arry;
Application m_excel = new Application();
m_excel.Visible = true;
Workbook m_workbook = m_excel.Workbooks.Open(
"D:\\原始数据.xlsx",
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);
Worksheet sheet1 = (Worksheet)m_workbook.Sheets["1"];
int rowsint = sheet1.UsedRange.Cells.Rows.Count;
Range rng1 = sheet1.get_Range("C3:C124", Type.Missing);
object[,] arr = (object[,])rng1.Value2;
arry = new int[rowsint-1, 1];
for (int i = 1; i <= rowsint - 2; i++)
{
arry[i - 1, 0] = Convert.ToInt32(arr[i, 1]);
}
在该函数里可以得到数组arry,可是执行完该函数进入下一个函数,arry数组里的值为何都为0?
------解决思路----------------------
如果你已经定义了全局变量,函数里就不要再定义一遍了
你这是两个同名变量,但是不是同一个变量
------解决思路----------------------
你这个定义变量方式等于是定义了一个全局的数组,然后又在方法里面定义了一个同名的局部变量,赋值的时候是赋值给你这个方法里面的局部变量了,你定义的全局变量并没有用上。。。