VB 查阅 Excel 文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB 查阅 Excel 文件相关的知识,希望对你有一定的参考价值。
本人有 N 个Excel表格(已经在当前目录),姑且叫 N1.xls 、N2.xls.....。 每个表格固定4个工作表:Sheet1-4。 我想用一个 ADO 控件、一个DataGrid控件,来显示 Excel 文件。用FileListBox 控件选择文件,用两个按钮控件来选择工作表。 折腾了老半天,没成功。 就是要利用 ADO 控件和 DataGrid控件 查看 现有的 Excel 文件(不是新建立 Excel 文件)。 因为有多个 Excel 文件 所以想用FileListBox 控件选择要查阅的文件。 因为每个 Excel 文件中有4个工作表,想用 按钮控件来选择工作表来选择工作表。 如果我的算法不可行,请高手为我想个更好的办法,总之能方便查阅 Excel文件就可以。 请那位高手帮个忙,为我写个程序,上机一通过一定追加分。 先谢了。
参考技术A 思路:1.取得excel对象,然后控制该对象,读取该对象的所有工作表,并写入listbox,
2.当在用户listbox选取某一工作表时,用ADODC控件连接excel,再把DataGrid绑定ADODC控件,通过DataGrid显示表内的数据
*详细方法如下*
建一个窗体:
增加listbox,dataGrid,adodc
控件各1个
窗体内代码如下
Option
Explicit
Public
path
As
String
'excel文件路径
Private
Sub
Form_Load()
Dim
myexcel
As
New
Excel.Application
Dim
mybook
As
Workbook
Dim
mysheet
As
Worksheet
Dim
su,
j
As
Long
'excel表路径
path
=
"D:\我的文档\3000条新书无资料11_3.xls"
Set
mybook
=
myexcel.Workbooks.Open(path)
'遍历每个工作表,取出所有表名
Dim
a
As
Worksheet
For
Each
a
In
mybook.Sheets
'在此循环里,你可以添加到listbox控件
List1.AddItem
a.Name
'
MsgBox
a.Name
'显示工作表的名称
'
MsgBox
a.Range("a1")
'显示A1单元格
Next
mybook.Close
Set
mysheet
=
Nothing
Set
mybook
=
Nothing
Set
myexcel
=
Nothing
End
Sub
Sub
List1_Click()
'单击listbox的表名时
Dim
Conn
As
New
ADODB.Connection
Dim
rs
As
New
ADODB.Recordset
Dim
Sql
As
String,
strSheetName
As
String
strSheetName
=
List1.Text
Sql
=
"select
*
from
["
&
strSheetName
&
"$]"
'指定EXCEL表
Adodc1.ConnectionString
=
"Provider=Microsoft.Jet.OLEDB.4.0;Persist
Security
Info=False;Data
Source="
&
path
&
";Extended
Properties='Excel
8.0;HDR=Yes'"
'连接EXCEL文件
Adodc1.RecordSource
=
Sql
Set
DataGrid1.DataSource
=
Adodc1
Adodc1.Refresh
End
Sub
以上是关于VB 查阅 Excel 文件的主要内容,如果未能解决你的问题,请参考以下文章