我上位机用VB想把从下位机读取到的数据保存到EXCEL中,以时间命名。该怎么做呢?最好有源码

具体要求是:从下位机读取时间,温度,速度,距离等值,读取的是16进制数,每读取一组数据后都将其转换成需要的模拟量然后保存到EXCEL对应的行,接着再读取下一组数据再保存到... 具体要求是:从下位机读取时间,温度,速度,距离等值,读取的是16进制数,每读取一组数据后都将其转换成需要的模拟量然后保存到EXCEL对应的行,接着再读取下一组数据再保存到EXCEL下一行中······,我以什么样的思路写程序更好一些呢?
高人来指点一下啊!我现在只能保存第一组数据,第二组数据就不知道怎么保存了。
展开
 我来答
jsicerain
2011-04-18 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.5万
采纳率:67%
帮助的人:6908万
展开全部
这个是我做的一个程序的部分代码,有用的部分你参考下吧
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet

Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
Set xlBook = xlApp.Workbooks.Add
xlApp.Visible = False '设置EXCEL对象可见(或不可见)
Set xlSheet = xlBook.Worksheets("sheet1")

For i = 0 To List1.ListCount - 1 '这部分你不用看了
filename = List1.List(i)
Open filename For Input As #1
Do While Not EOF(1)
Line Input #1, tempInput
If InStr(tempInput, "at") <> 0 Then
c() = Split(tempInput, " ")
For k = 0 To UBound(c())
xlSheet.Cells(j + 1, k + 1) = c(k) 'c(k)赋给表格j+1行k+1列,你说的写第二组数据可以用循环
Next
ReDim c(10)
Else
For k = 0 To 10
c(k) = Trim(Mid(tempInput, p + 1, 7))
p = p + 7
Next

For k = 0 To 10
xlSheet.Cells(j + 1, k + 1) = c(k)
Next
p = 0
End If
j = j + 1
Loop
Close #1
filename = Replace(filename, "txt", "xls")
xlBook.SaveAs (filename) '保存excel
Me.Caption = filename & "转换完毕!" & "已完成" & i + 1 & "/" & List1.ListCount
j = 0
k = 0
Next
xlBook.Close (True) '关闭工作簿
xlApp.Quit '结束EXCEL对象
Set xlApp = Nothing '释放xlApp对象
Me.Caption = "所有xls转换完毕!"
MsgBox ("转换完成!")
崔文静1989
2012-03-15
知道答主
回答量:6
采纳率:0%
帮助的人:9777
展开全部
我也需要这个··求助,邮箱251432208@qq.com
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式