C#读取Excel数据到数组

来源:互联网 发布:北京建筑大学网络 编辑:程序博客网 时间:2024/06/05 16:24

      由于项目需要读取Excel文件(.xlsx)中的数据,先在网上找了一大堆资料,发现资料大多太零散,写篇博文希望能帮助初学者。

      我试用的方法需要用到三个dll文件(如图一),链接后面给。最好是同时使用连接中的三个dll文件,我刚开始用的从不同地方找来的这三个dll文件,结果报错说缺少dll文件。

(图一)

  下载完这三个dll文件之后,把它们放在工程文件目录(Assets)下就行。我通过以下方法获取到了文件(除第一行以外)的数据。excel.Read()是逐行读取的,因此很容易通过x和i把数据存进数组。

 public int[,]  XLSX()
    {
        
        FileStream stream = File.Open(Application.dataPath + "/Mydata.xlsx", FileMode.Open, FileAccess.Read);
        IExcelDataReader excel = ExcelReaderFactory.CreateOpenXmlReader(stream);


        //取数据,存入数组arry
        int x = 0;      //x为行数
        while (excel.Read())
            {
            //从第二行还是取数据,把取到的数据存入一个新的数组arry,excel.FiledCount为数组的列数
            if (x > 0)
            {
                for (int i = 0; i < excel.FieldCount; i++)
                {
                    string value = excel.GetString(i);
                    int s = int.Parse(value);
                    //Debug.Log(excel.FieldCount);
                    arry[x-1,i] = s;
                    //Debug.Log(s);
                    //test = int.Parse(value);
                }
            }
            x++;          
        }
        return arry;      
    }


接下来的工作就是对数据进行处理了。以上arry数组里面的数据全是整数。有什么需要改进的希望广大网友指教。dll文件下载地址:http://download.csdn.net/detail/u012154706/9490317


0 0
原创粉丝点击