需要统计多个excel文件中的数据,想使用Vb.net(vs2010)来变成实现,如何实现

数据内容包含:产品名称、数量
这些数据分别存在多个excel文件中。我在网上查到有两种方式:数据透视表和ACCESS。
据我现在查到的资料,数据透视表,多用于单个excel文件的操作。
困惑的是:使用ACCESS的话,还需要将excel中的数据导入ACCESS,汇总完成后,还要导出为excel文件,是否可行?哪个方式简单,易用。
备注:数据文件不超过15个。本人vb刚刚入门。

不知道你是怎么百度的,你的百度关键词应当选择“VB 统计多个excel文件中的数据”。
1、数据透视表是用于在excel中不通过编程就实现汇总数据的目的,既然你都想编程了,数据透视表也就失去意义。

2、ACCESS更是无稽之谈,多此一举。

3、Excel文件不管多少,最重要的是每个文件要有统一的格式,这样就有了编程的前提。
实现方法是:
1、让程序能找到所有excel文件
2、用子过程读取每一个文件,获得所需要的数据,进行汇总
3、所有数据进行汇总,得到结果。追问

我就是想问问第3步,汇总有什么好方法嘛?总不能用for循环处理吧?有没有更便捷的函数?

追答

没有什么便捷的方式,假设各个表的结果在各自的数组里,那么汇总时,自然要用到for循环,将相同特性的值相加,得到汇总数据。
编程的目的就是让复杂的一系列运算和操作简单化,对于用户来说,点几下鼠标就可以得到结果,理所当然的,这中间的大量运算就需要程序员去实现了。

追问

问题:
1、从各个Excel文件中拷贝数据汇总到一个表,效率很低,有什么快捷的拷贝办法嘛?可以补考呗嘛?
2、VB调用Excel的库函数中,有数据透视表功能,其中有一种是cache什么的类型,是不是可以直接将数据映射到cache的,这样效率是不是要高?
3、同样,是否可以调用数据透视表函数来实现数据统计,以及控制统计输出的表格样式?

追答

1、何必要汇总到一个表呢?你从各个表读取需要的数据,放在数组变量里面。
2、VB读取excel,用到excel类,参考:http://zhidao.baidu.com/link?url=4a4u3TK6rK4v4D4PmSnvQavEcjvrcTkxKkiv44uivi3ATKaoBEQccisCvAodn2WC6ToDCaZm06AJkeiIZApy3K
3、不需要数据透视表!

追问

谢谢,数据提取已经明白了。
汇总的话,除了自己写for循环统计外,有没有更简单的处理函数?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-08-03
其实你可以尝试用VBA做!应该把你的要求再细化,描述清楚!追问

vba最早尝试过,编程环境不如vb好。
我现在是有过个excel表格,统计的是不用客户手里的设备和数量。我需要统计不同设备的数量。
比如:表1中包含
设备A 数量 4
设备B 数量 8
表2中包含:
设备A 数量1
设备B 数量3
我需要汇总设备种类以及数量:
设备A 总数量5
设备B 总数量11

追答

如果每个表的字段的位置是固定并且相同的话,可以通过VBA来合并或者提取字段的属性来操作。
当然如果你会编程的话,更好,比如Matlab就可以操作!

追问

Matlab适合数据分析,但是,我的目标是制作一个处理表格的可执行程序。Maltab发布可执行的独立程序对于我来说太复杂了,还是VB来的简单。

数据处理时,如果是将多个数据都汇总起来再统计,那我汇总的时候,将各个文件重新写入到一个sheet中,这样效率比较低,有没有不用拷贝数据,就能实现的汇总?最好是利用MSDN中的函数。