VB如何写入excel

来源:百度知道 编辑:UC知道 时间:2024/05/28 06:22:13
我有如下的代码:
Private Sub XTab1_Click()
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset

connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\123.xls;Extended Properties='Excel 8.0;HDR=No;IMEX=1'"
conn.Open connstr

rs.CursorLocation = adUseClient
rs.Open "select * from [sheet1$]", conn, adOpenStatic, adLockOptimistic
Do While Not rs.EOF
If rs(9) = XTab1.TabCaption(XTab1.ActiveTab) Then
MSFlexGrid1(XTab1.ActiveTab).Rows = j + 2
For i = 0 To 8
MSFlexGrid1(XTab1.ActiveTab).TextMatrix(j + 1, i) = rs(i)
Next
j = j + 1
End If
rs.MoveNext
Loop
End Sub

以上可以读取123.xls中的数据!
以下问题:
1.这是别人传给我的读取excel的源程序!但是我自己新建工程,新建一个excel的话,为什么不能读取?
2.根据以上这个能写入excel吗?代码怎么写?写入的数据要在原有数据的下边!别覆盖了原来的数据!

1.你新建工程的APP.Path中没有123.xls。
2.可以写,代码不会。

自己新建的话 要名字是123,而且要在你的工程目录下面
当然你也可以自己改变目录
App.Path即代表你工程的当前目录
& App.Path & "\123.xls
后面的123.xls是excel文件名 要么改代码里的名字 要么将你自己的表命名为这个
由于你这个使用ado进行的数据库链接 所以对excel文件有一定的要求
一般要求是标准数据库格式 即有列名 列数据类型一致 不能有合并单元格等等
要进行完全的操作 建议使用excel对象 不过需要一定的vba基础 有vb基础的话
直接在excel里按alt+f8打开vba编辑器 然后按F1就可以看到很全的excel编程帮助

应该是你在"工程"的"引用"或者"部件"添加些什么东西,具体的我忘了,如果有加分的话,我可以帮你找找!!!