| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 512 人关注过本帖
标题:[求助]可以给一个参考程序吗
只看楼主 加入收藏
drysky
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-2-2
收藏
 问题点数:0 回复次数:9 
[求助]可以给一个参考程序吗
想要一个参考程序:
将EXCELL表格中的六列中的每一行的值都读出来,然后写入一个TXT文本文件中..

谢谢!!
搜索更多相关主题的帖子: 文本文件 
2007-03-29 16:02
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
使用Excel对象.很方便啊.

我的msn: myfend@
2007-03-29 16:03
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
收藏
得分:0 

使用excel对象 打开指定的worksheet 就像读一张表


2007-03-29 16:21
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 

对的.同意楼上.


我的msn: myfend@
2007-03-29 16:30
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
收藏
得分:0 
同意楼上的同意我

2007-03-29 16:31
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 

不过这样要逐个Cell去读.如果Excel的Sheet的Cell很多的话.那速度就...

我的msn: myfend@
2007-03-29 16:36
drysky
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-2-2
收藏
得分:0 
以下是引用purana在2007-3-29 16:36:34的发言:

不过这样要逐个Cell去读.如果Excel的Sheet的Cell很多的话.那速度就...

有什么方法快点教教,
最好是写下程度来。。。呵呵
谢谢啦!!

2007-03-29 18:29
zzy2085
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-3-30
收藏
得分:0 

首先在窗体上添加一个标签控件和一个命令按钮,然后在工程中添加对DAO引用。利用下面的程序代码就可将表中的数据导出到电子表格中。

Option Explicit

Private Sub Command1_Click()
Dim tempDB As Database
Dim i As Integer ' 循环计数器
Dim j As Integer
Dim rCount As Long ' 记录的个数
Dim xl As Object ' OLE自动化对象
Dim Sn As Recordset
Screen.MousePointer = 11
Label1.Caption = "打开数据库..."
Label1.Refresh
Set tempDB = Workspaces(0).OpenDatabase("Nwind.mdb")
Label1.Caption = "创建Excel对象..."
Label1.Refresh
Set xl = CreateObject("Excel.Sheet.8")
Label1.Caption = "创建快照型记录集..."
Label1.Refresh
Set Sn = tempDB.OpenRecordset("Customers", dbOpenSnapshot)

If Sn.RecordCount > 0 Then
Label1.Caption = "将字段名添加到电子表格中"
Label1.Refresh
For i = 0 To Sn.Fields.Count - 1
xl.Worksheets(1).cells(1, i + 1).Value = Sn(i).Name
Next
Sn.MoveLast
Sn.MoveFirst
rCount = Sn.RecordCount
' 在记录中循环
i = 0
Do While Not Sn.EOF
Label1.Caption = "Record:" & Str(i + 1) & " of" & _
Str(rCount)
Label1.Refresh
For j = 0 To Sn.Fields.Count - 1
' 加每个字段的值加到工作表中
If Sn(j).Type < 11 Then
xl.Worksheets(1).cells(i + 2, j + 1).Value = Sn(j)
Else
' 处理Memo和LongBinary 类型的字段
xl.Worksheets(1).cells(i + 2, j + 1).Value = "Memo or Binary Data"
End If
Next j
Sn.MoveNext
i = i + 1
Loop
' 保存工作表
Label1.Caption = "保存文件..."
Label1.Refresh
xl.SaveAs "c:\Customers.XLS"
'从内存中删除Excel对象
Label1.Caption = "退出Excel"
Label1.Refresh
xl.Application.Quit
Else
' 没有记录
End If
' 清除
Label1.Caption = "清除对象"
Label1.Refresh
Set xl = Nothing
Set Sn = Nothing
Set tempDB = Nothing
Screen.MousePointer = 0 ' 恢复鼠标指针
Label1.Caption = "Ready"
Label1.Refresh


End Sub

Private Sub Form_Load()
Label1.AutoSize = True
Label1.Caption = "Ready"
Label1.Refresh
End Sub

2007-03-30 10:37
zzy2085
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-3-30
收藏
得分:0 
可以将Workspaces(0)省略,如果想读指定字段的数据,只需要将起始点改一下就可以了,上述程序已经通过测试,而且你可以先有EXCEL做一个现成的报表,再读入就更加美观了
2007-03-30 10:40
zzy2085
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-3-30
收藏
得分:0 
请问哪位知道有QQ组讨论VB的呀,那样可以及时请教问题,我希望和大家交朋友,我的QQ号是563798234,加我时请注明VB,谢谢!
2007-03-30 10:49
快速回复:[求助]可以给一个参考程序吗
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021626 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved