Android串口数据保存为Excel,如何将串口接收到的数据保存到EXCEL文档

1.启动excel从:工具-->宏-->Visual Basic 编辑器,打开excel VBA.

2.在ThisWorkbook上右单击鼠标选择插入--用户窗体

3.单击一下插入的窗体,单击菜单上的--工具--附加控件--选择Microsoft Communications Control, version 6.0

4.在窗体上添加mscomm1,添加commandButton1

5.单串口机子,短接rs232的2脚和3脚,双串口机子用232线连接两个串口,注意2、3线交叉,我这里以单串口短接举例。

6.复制以下代码到你的窗体里:

VB code

'VBA代码

Private Sub CommandButton1_Click()

MSComm1.Output = "BEG1END"

End Sub

Private Sub MSComm1_OnComm()

Dim t1 As Long, com_String As String

Static i As Integer

t1 = Timer

Select Case MSComm1.CommEvent

Case comEvReceive '收到 RThreshold定义的字符数1字节

MSComm1.RThreshold = 0

Do

DoEvents

Loop While Timer - t1 < 0.1 '延时时间自己调整

com_String = MSComm1.Input

MSComm1.RThreshold = 1

i = i 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用Qt的串口模块读取串口数据,并使用QAxObject库将数据保存Excel文件中。下面是一个简单的示例代码: ```cpp #include <QCoreApplication> #include <QSerialPort> #include <QSerialPortInfo> #include <QAxObject> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); // 查找可用的串口 QList<QSerialPortInfo> portInfoList = QSerialPortInfo::availablePorts(); if(portInfoList.isEmpty()) { qDebug() << "No serial port found."; return a.exec(); } // 选择第一个可用的串口 QSerialPortInfo portInfo = portInfoList.at(0); QSerialPort serialPort; serialPort.setPort(portInfo); // 打开串口 if(!serialPort.open(QIODevice::ReadOnly)) { qDebug() << "Failed to open serial port."; return a.exec(); } // 创建Excel对象 QAxObject excel("Excel.Application"); excel.setProperty("Visible", false); QAxObject *workbooks = excel.querySubObject("Workbooks"); QAxObject *workbook = workbooks->querySubObject("Add"); QAxObject *worksheets = workbook->querySubObject("Worksheets"); QAxObject *worksheet = worksheets->querySubObject("Item(int)", 1); // 读取串口数据保存Excel QByteArray data; while(serialPort.waitForReadyRead(1000)) { data.append(serialPort.readAll()); // 在这里可以根据你的需要对读取到的数据进行处理 // 将数据写入Excel的A列 QAxObject *cell = worksheet->querySubObject("Cells(int,int)", 1, 1); cell->dynamicCall("SetValue(const QVariant&)", QString(data)); delete cell; } // 保存Excel文件并退出 workbook->dynamicCall("SaveAs(const QString&)", "path/to/save/excel.xlsx"); workbook->dynamicCall("Close()"); excel.dynamicCall("Quit()"); return a.exec(); } ``` 请注意,你需要在.pro文件中添加对ActiveQt库的引用: ```pro QT += axcontainer ``` 这样可以使用QAxObject来操作Excel。 在上面的示例代码中,我们首先查找可用的串口,并选择第一个可用的串口。然后我们打开串口并创建一个Excel对象。接下来,我们通过读取串口数据,并将其写入Excel文件中。最后,我们保存Excel文件并退出。 你需要将"path/to/save/excel.xlsx"替换为你想要保存的实际路径。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值