visual Studio2012中怎么读取excel数据

用C#编程!谢谢... 用C#编程!谢谢 展开
 我来答
硪丨暧恋
2016-11-25 · TA获得超过8980个赞
知道大有可为答主
回答量:5336
采纳率:93%
帮助的人:2206万
展开全部
1.Oledb方法:即把excel文件当做一个数据库,通过sql语句提取数据。
利:简单快捷,对小数据很方便,熟悉sql操作语句的更容易上手,适用小数据
弊:
第一点:需要安装AccessDatabaseEngine.exe。我是开发者安装这个无所谓,但是用户没有必要为了用我的这个功能然后还要安装个东西吧,限制性太大。
第二点:对大数据毫无办法。Oledb提取出来的数据不管你是要显示还是要存储,一般都要经过dataset或者dataTable。之前测试提取一个25万行26列的数据,就撑爆了dataset和dataTable,虽然理论上dataTable的范围是上千万行、上百万列貌似,但是这只是理论。这时,基本上都会想到既然一次提出来撑爆了,那我多次提取呗,一次提取十万行。恭喜你,掉进了另一个坑,因为这个时候我们就需要一个条件,即我这次提取一到十万行,下次则提取十万零一到二十万行,那么岂不是意味着原始数据中要有一个类似主键的列作为查询条件,当然一般数据都有序号列,然而万一序号列的数据不连续怎么办,即上一个序号是1000,下一个序号结果是20000,你不能保证原始数据是严格按照你的要求来。
2.NPOI方法
NPOI是个开源包,可以添加NPOI的dll文件来写、读取excel具体信息请自行找度娘。
利:
第一点:可以在电脑没装office的情况下,创建excel、读取excel、写入excel等操作,这是最大的优点。
第二点:操作简单,具体代码示例自行百度。
弊:
第一点:对大数据也是毫无办法,NPOI读取excel的方法是采用文件流的方式读取,之前的开发中测试当excel文件有个10M左右时,它就会显示内存溢出,后来经过千辛万苦查找相关的资料,终于明白这个问题无解,有很多人遇到了这个问题,然后他们换了种方法。
3
3.引用office的类库:此种方法是最常用的,即引用Microsoft.Office.Interop.Excel
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式