我听人说在VB里面可以用ADO+EXCEL建报表

zoge 2002-08-14 08:16:40
请问怎么实现啊?

我现在在做一个库存系统,用DED太不好用了,希望各位大哥帮帮忙,讲的详细一点。

谢谢了
...全文
51 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
silverstone 2002-08-16
  • 打赏
  • 举报
回复
或许这个程序有帮助! 从数据源度数据库,把此数据库内所有用户表导出到excel,速度还比较快....

Option Explicit
Private Sub Command1_Click()
Dim cnnstring As String
Dim cnn As New ADODB.Connection
Dim stable, rs As New ADODB.Recordset
Dim sfilename As String
Dim nrecord, srecord, stmpfield As String
Dim ssql As String
Dim k, m, ifile, p As Integer
Dim xlapp As New Excel.Application
Dim xlbook As New Excel.Workbook
Dim xlsheet As New Excel.Worksheet
Dim xlQuery As New Excel.QueryTable
If Text1.Text = "" Then
MsgBox "请输入odbc数据源"
Exit Sub
End If

If Dir("C:\Documents and Settings\Administrator\桌面" + "\ConvertFiles", vbDirectory) = "" Then
MkDir "C:\Documents and Settings\Administrator\桌面" + "\ConvertFiles" 'mkdir app.path+"\convertfiles"
End If
ChDir "C:\Documents and Settings\Administrator\桌面\ConvertFiles"
'如果没有converfiles文件夹,则建立此文件夹,默认为桌面

cnnstring = "PROVIDER=MSDASQL;dsn=" & Text1.Text & ";uid=sa;pwd=;"
cnn.CursorLocation = adUseClient
cnn.Open cnnstring
Set stable = cnn.OpenSchema(adSchemaTables)
stable.MoveFirst
Set xlbook = xlapp.Workbooks.Add

Do Until stable.EOF
If stable!TABLE_TYPE = "TABLE" Then
ssql = "select * from [" & stable!table_name & "]"
Set rs = cnn.Execute(ssql)
Set xlsheet = xlbook.Worksheets.Add
With xlsheet
.Range(.Cells(1, 1), .Cells(1, rs.Fields.Count)).Font.Name = "黑体"
'设标题为黑体字
.Range(.Cells(1, 1), .Cells(1, rs.Fields.Count)).Font.Bold = True
'标题字体加粗
.Range(.Cells(1, 1), .Cells(rs.RecordCount + 1, rs.Fields.Count)).Borders.LineStyle = xlContinuous
'设表格边框样式
.Name = stable!table_name
End With
Set xlQuery = xlsheet.QueryTables.Add(rs, xlsheet.Range("a1"))
xlQuery.FieldNames = True '显示字段名
xlQuery.Refresh
stable.MoveNext
Else
stable.MoveNext
End If
Loop
xlsheet.SaveAs "C:\Documents and Settings\Administrator\桌面\ConvertFiles\" & Text1.Text & ".xls"

MsgBox "导出完成"
xlapp.Quit
Set xlsheet = Nothing
Set xlbook = Nothing
End Sub
ykn 2002-08-16
  • 打赏
  • 举报
回复
发一个给俺看:ykn@371.net
windtuxr 2002-08-16
  • 打赏
  • 举报
回复
: sunzhigang_1980(仰望着天)
兄弟:
发一个给俺看看:tuxr001@163.com
online 2002-08-14
  • 打赏
  • 举报
回复
sunzhigang_1980(仰望着天)
你好,能否发个可以运行的例子
感激不尽
yyg@xjeri.com.cn
kingbear2000 2002-08-14
  • 打赏
  • 举报
回复
大哥,也帮小弟一把吧!我的EMAIL@21CN.COM
sunzhigang_1980 2002-08-14
  • 打赏
  • 举报
回复
你的运气真好,我刚做完一个银行的报表,用的ADODB+Excel,用的是vb的内模块做成Com,用pb调用,有什么问题可以写信给我,szg@wxhx.com,看看我可不可以帮你
zoge 2002-08-14
  • 打赏
  • 举报
回复
有谁知道么?自己UP一下

807

社区成员

发帖
与我相关
我的任务
社区描述
VB 多媒体
社区管理员
  • 多媒体
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧