加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

C#读取Excel数据到数组

(2018-01-04 17:00:45)
标签:

excel

大数据分析

数据科学家

数据分析师

数据挖掘


C#读取Excel数据到数组

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

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

http://www.cda.cn/uploadfile/image/20180104/20180104071849_37217.png

(图一)

下载完这三个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数组里面的数据全是整数。

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有