怎么用VB将excxl或txt文件中的数据读出来?文件中的数据是n行6列的,我要第3列

 我来答
syx54
2012-09-03 · TA获得超过7378个赞
知道大有可为答主
回答量:6567
采纳率:83%
帮助的人:2756万
展开全部
'要在VB中操作Excel,需要引用Excel对象模型
'方法,在菜单里选择[工程] -- [引用],在窗口里勾选 Microsoft Excel XX.X Object Library
'其中,XX.X取决于你安装的Office的版本号
Private Sub Command6_Click()
Dim excel_App As Excel.Application
Dim excel_Book As Excel.Workbook
Dim excel_sheet As Excel.Worksheet
'启动Excel
Set excel_App = CreateObject("Excel.Application") '引用程序对象实例
'设置Excel为不可见
excel_App.Visible = False
'打开文件
Set excel_Book = excel_App.Workbooks.Open("C:\1.XLS") '工作簿实例
Set excel_sheet = excel_Book.Worksheets("Sheet1") '数据表实例
excel_sheet.Range("C1").Value = "你好!" '设置单元格C1的值为"你好!"
excel_sheet.Range("A1").Value = 100 '设置单元格A1的值为100
excel_sheet.Range("A2").Value = 9 '设置单元格A2的值为9
excel_sheet.Range("A3").Value = excel_sheet.Range("A1").Value + excel_sheet.Range("A2").Value '计算
'''''''''''''''''''''''''''''''''''
'读取数据到变量
x = excel_sheet.Range("A2").Value ' 把单元格"A2"里的数据读取出来
'关闭Excel文件
Set excel_sheet = Nothing
excel_App.ActiveWorkbook.Close savechanges:=True '保存对EXCELL进行更改。
Set excel_Book = Nothing
excel_App.Quit
Set excel_App = Nothing
End Sub

若读取文本文件:
Open "C:\D.TXT" For Input As #1 ' 打开文件。
Do While Not EOF(1) ' 循环至文件尾。
Line Input #1, TextLine ' 读入一行数据并将其赋予某变量。
Debug.Print TextLine ' 在立即窗口中显示数据。
Loop
Close #1 ' 关闭文件。
流星剑1988
2012-09-03 · TA获得超过237个赞
知道小有建树答主
回答量:425
采纳率:0%
帮助的人:209万
展开全部
菜单里选择[工程] -- [引用],添加 Microsoft Excel XX.X Object Library的引用
Private Sub Command1_Click()
Dim xlapp As Excel.Application '定义excel类
Dim xlbook As Excel.Workbook '定义工件簿类
Dim xlsheet As Excel.Worksheet '定义工作表类
Dim filepath As String
filepath = App.Path & "\123.xls"

Set xlapp = CreateObject("excel.application") '创建excel应用类
xlapp.Visible = False '设置excel不可见
Set xlbook = xlapp.Workbooks.Open(filepath) '打开excel工作簿
Set xlsheet = xlbook.Worksheets(1) '打开excel工作表

Text1.Text = xlsheet.Cells(Val(Text2.Text), 3)

Set xlsheet = Nothing
Set xlbook = Nothing
xlapp.Quit
Set xlapp = Nothing
End Sub
Private Sub Command2_Click()
Dim filepath As String
Dim s As String
Dim counts As Integer
Dim HangShu As Integer
HangShu = Val(Text2.Text) '行数

filepath = App.Path & "\123.txt" '文本文档名称为 123.txt

Open filepath For Input As #1
Do Until EOF(1)
Input #1, s
counts = counts + 1
If counts = HangShu Then
counts = 0
Text1.Text = Split(s, " ")(2) '读取第三列
Exit Do
End If
Loop

Close #1
End Sub
追问
要一个一个的取,而且这个文件在取的时候还有其他程序往里写数据。这能实现吗?俺是菜鸟,望大虾指教
(我要做的是通过数据采集卡采到的数据保存到excel或txt中。在采集的过程中,要用这些采到的数据做计算,所以想把他取出来,)
追答
能实现啊,你想取哪个取哪个,程序只需要把里面的数改改就好了!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zx001z7d53
2012-09-03 · TA获得超过2万个赞
知道大有可为答主
回答量:2.4万
采纳率:52%
帮助的人:5665万
展开全部
'从菜单:工程->引用 里找Microsoft Excel .........
'窗体上加一个ListBox,默认名字是List1
Private Sub Form_Load()
Set XlApp = CreateObject("Excel.Application")
XlApp.Workbooks.Open App.Path & "\123.xls" '文件位置
For i = 1 To XlApp.Workbooks(1).Worksheets(1).UsedRange.Rows.Count ' 从第一行到尾行
List1.AddItem XlApp.Workbooks(1).Worksheets(1).Cells(i, 3).Text
Next
XlApp.Quit
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式