用MSCOmm接收串口数据的时候,每接收一帧数据自动保存到excel表格怎么实现,是不是很影响速度

解决方案 »

  1.   

    影响速度的是数据量,单纯写 Excel 很简单
    Private xlSheet As Excel.Worksheet
    Private m_Row As LongPrivate Sub MSComm1_OnComm()
        If MSComm1.CommEvent = comEvReceive Then
            m_Row = m_Row + 1
            xlSheet.Cells(m_Row, 1).Value = MSComm1.Input()
        End If
    End Sub
      

  2.   

    可以将数据先保存到数组里,待数组的数据多了再一起保存到excel.不建议接收一帧数据就保存.
      

  3.   

    其实老板的要求是这样的,用两个单选按钮做选择,一个是记录一帧,一个是连续记录,也就是既可以每点击一次记录按钮记录一帧数据到excel,也可以连续记录数据到excel,我试了一下,从数据写入excel,到excel保存这段时间,整个界面都卡那了,要是连续记录程序肯定走不动。    3楼的哥们说的对,一帧一帧的保存不行,不流畅,原先是保存成文本文档,现在要我保存到excel,哥们们再帮我分析分析,具体怎么做,谢谢
      

  4.   

    每次那样保存数据肯定是不行的.
    出个点子,,,用DDE让Excel连接你的程序. 
      

  5.   

    后台打开Excel,来一个数据,写入一个数据,不关闭,其实并不耗费多少资源。不过前提是数据量不要太大!就一般的串口通信而言,估计数据量不会太大。
    http://download.csdn.net/source/2341786
      

  6.   

    继续让后台保持文本。
    界面操作就从文本读取,写入 Excel。