怎样用VB读取Excel文件中表格中的数据?

天景花园2013年1月垃圾收集统计表
单位:公斤
日期 可回收物 厨余垃圾 有害垃圾 其他垃圾 总量
1月1日 58 110 0 117 285
1月2日 59 103 0 134 296
1月3日 60 105 0.5 139.5 305
1月4日 55 110 0 156 321
1月5日 58 115 0 157 330

1、VB是常用的应用软件开发工具之一,由于VB的报表功能有限,而且一但报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便。因此有很多程序员现在已经充分利用EXECL的强大报表功来实现报表功能。

2、 VB读写EXCEL表:VB本身提自动化功能可以读写EXCEL表,其方法如下:

第一步:在工程中引用Microsoft Excel类型库:从"工程"菜单中选择"引用"栏;选择Microsoft Excel 9.0 Object Library(EXCEL2000),然后选择"确定"。表示在工程中要引用EXCEL类型库。

第二步:在通用对象的声明过程中定义EXCEL对象:Dim xlApp As Excel.ApplicationDim xlBook As Excel.WorkBookDim xlSheet As Excel.Worksheet.

第三步:在运用以上VB命令操作EXCEL表时,除非设置EXCEL对象不可见,否则VB程序可继续执行其它操作,也能够关闭EXCEL,同时也可对EXCEL进行操作。但在EXCEL操作过程中关闭EXCEL对象时,VB程序无法知道,如果此时使用EXCEL对象,则VB程序会产生自动化错误。形成VB程序无法完全控制EXCEL的状况,使得VB与EXCEL脱节。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-25
Dim SheetID As Integer
Dim XlsRow As Long
Dim TotalBit As Integer
Dim MachineID00_Msg000(i) As String
Dim i As Integer
SheetID = 3 设定表编号,即Sheet的编号。
Set ExcelApp = CreateObject("Excel.Application") '
Set ExcelBook = ExcelApp.Workbooks.Open(App.Path + "\Pameter.dat") '路径
Set ExcelSheet = ExcelBook.Worksheets(SheetID) '
XlsRow = 2 '读取起始行
TotalBit = 16 '要读取的行数
For i = 0 To (TotalBit - 1)
MachineID00_Msg000(i) = ExcelSheet.Range("D" & XlsRow).value
XlsRow = XlsRow + 1 '循还
Next i
ExcelApp.quit
Set ExcelSheet = Nothing
Set ExcelBook = Nothing
Set ExcelApp = Nothing本回答被提问者采纳
第2个回答  2013-04-29
不需要VB,就可以直接读取表格的数据。还可以对表格的数据进行需要的计算、汇总、统计等。本回答被网友采纳