
哈喽大家好!上一篇给大家介绍了Excel四大神器的整体定位,今天咱们正式开始实操——从最直观、最实用的「Data Streamer」入手!
不管你是做物联网监控、科学实验,还是简单的环境监测,肯定遇到过“实时数据手动录入”的麻烦:盯着传感器读数据,一个个敲进Excel,又累又容易错,还没法实时看到变化趋势。
其实不用这么麻烦!Excel自带的Data Streamer,就是专门解决“实时采集”的神器——不用写复杂代码,连接Arduino和传感器,就能自动采集温湿度、电压等数据,实时存入Excel,还能一键生成仪表盘、导出历史数据。
今天就给大家分享「完整实操步骤+可直接用的仪表盘模板+现成代码」,新手跟着点,30分钟就能搭建好自己的温湿度实时监控仪表盘,全程无难点,看完就能上手!
很多朋友没听过这个工具,其实它是Excel自带的“实时数据采集器”,藏在加载项里,启用后就能直接用,核心功能一句话总结:
连接外部设备(Arduino、传感器等),将实时数据自动导入Excel,自动刷新、可视化,还能双向控制设备,不用手动录入一个数字!

✅ 适用场景(对号入座):
物联网监控:温湿度、电压、转速等数据实时采集;
科学实验:记录实验过程中的实时数据,避免手动记录误差;
工业监测:简单设备的实时数据监控,不用复杂系统;
STEM教学:新手入门Arduino+Excel的数据采集实操。
咱们今天重点讲最常用的「温湿度采集」,搭配Arduino和DHT11/DHT22传感器,全程实操,一步步教你做!
Data Streamer默认是隐藏的,先按步骤启用,全程3步,和上一篇总起篇提到的工具启用方法一致,很简单:
打开Excel,点击顶部「文件」→ 选择「选项」(最下方);
在弹出的窗口中,点击左侧「加载项」→ 右侧「管理」选择「COM加载项」→ 点击「转到」;
在新窗口中,勾选「Microsoft Data Streamer for Excel」→ 点击「确定」,等待1-2秒,顶部就会出现「Data Streamer」选项卡,启用成功!


不用自己从零搭建仪表盘,我给大家准备了现成的模板,新建Excel,按以下步骤操作,保存就是成品,后续采集数据直接用!
打开Excel,新建一个工作簿,新建4个工作表,分别命名(直接复制名称,避免出错):
Data In“数据输入”(用于接收实时采集的数据,自动追加);
Data Out“数据输出”(用于发送指令控制Arduino,今天暂用不到);
Dashboard“设置”(仪表盘主界面,展示实时数据、曲线、报警);
History“清单”(用于导出历史数据,无需手动操作)。

点击「Data In」工作表,按以下设置表头(直接复制,粘贴到对应单元格):
A列(A1单元格):时间(自动记录采集时间);
B列(B1单元格):温度(℃);
C列(C1单元格):湿度(%RH)。
设置完成后,后续采集的数据会自动追加到A2、B2、C2及以下单元格,不用手动输入。

点击「Dashboard」工作表,这是仪表盘的核心界面,包含实时数据、曲线、报警、导出按钮,直接按以下内容搭建,不用自己设计:
标题区:在A1单元格输入「温湿度实时监控仪表盘(带历史导出)」,选中A1:C1单元格合并居中,字体加粗、字号16,颜色浅蓝;
实时数据卡片:
A3单元格:当前温度(℃),A4单元格:=DataIn!B2(引用最新温度数据),选中A4单元格,字体加粗、字号14,颜色红色;
B3单元格:当前湿度(%RH),B4单元格:=DataIn!C2(引用最新湿度数据),选中B4单元格,字体加粗、字号14,颜色蓝色;
C3单元格:更新时间,C4单元格:=DataIn!A2(引用最新采集时间),字体常规、字号12。
统计卡片:
A6单元格:最高温度,A7单元格:=MAX(DataIn!B:B),字体加粗;
B6单元格:最低温度,B7单元格:=MIN(DataIn!B:B),字体加粗;
C6单元格:平均温度,C7单元格:=AVERAGE(DataIn!B:B),字体加粗(保留1位小数)。
状态报警:
- A9单元格:采集状态,A10单元格:=IF\(ISBLANK\(DataIn\!B2\),\&\#34;未采集\&\#34;,\&\#34;正常采集\&\#34;\);- 选中A10单元格,设置条件格式:“正常采集”显示绿色,“未采集”显示灰色(路径:开始→条件格式→突出显示单元格规则)。
历史数据导出:
插入按钮:开发工具→插入→按钮(表单控件),绘制在D1单元格附近,命名为「导出历史数据」;
绑定宏:右键按钮→指定宏,粘贴下方宏代码(直接复制,无需修改),点击确定。
实时曲线:
插入折线图:插入→折线图→选择“带数据标记的折线图”;
选择数据:点击图表→选择数据,X轴选择Data In的A列(时间),Y轴选择B列(温度)、C列(湿度),生成两条曲线,分别命名“温度”“湿度”;
设置自动滚动:右键图表→选择数据→水平(分类)轴标签→编辑,设置轴范围为“最近30条数据”,确保曲线实时滚动更新。
Sub 导出历史数据() Dim wsIn As Worksheet Dim wsHistory As Worksheet Dim lastRow As Long Set wsIn = ThisWorkbook.Worksheets("Data In") Set wsHistory = ThisWorkbook.Worksheets("History") ' 复制Data In中的数据到History lastRow = wsIn.Cells(wsIn.Rows.Count, "A").End(xlUp).Row wsIn.Range("A1:C" & lastRow).Copy wsHistory.Cells(wsHistory.Rows.Count, "A").End(xlUp).Offset(1, 0) ' 提示导出成功 MsgBox "历史数据导出成功!请查看History工作表", vbInformationEnd Sub
仪表盘搭建完成后,连接Arduino和传感器,就能开始实时采集数据,这一步是核心,跟着做,别出错!
硬件:Arduino Uno(或其他型号)、DHT11/DHT22温湿度传感器、面包板、杜邦线(3根);
软件:Arduino IDE(免费下载,官网可直接获取)、Excel(2016及以上版本)。
打开Arduino IDE,新建项目,删除默认代码,粘贴下方代码(根据传感器型号选择,无需修改其他内容);
选择对应板型:工具→板型→选择“Arduino Uno”;
选择串口号:工具→端口→选择Arduino连接电脑的串口号(设备管理器可查看);
点击右上角「上传」按钮,等待上传完成(底部显示“上传成功”即可)。
#include <DHT.h>#define DHTPIN 4 // 传感器DATA引脚接Arduino D4#define DHTTYPE DHT11 // 传感器型号为DHT11DHTdht(DHTPIN, DHTTYPE);voidsetup() {Serial.begin(9600); // 波特率9600,与Excel一致dht.begin();}voidloop() {delay(1000); // 每秒采集一次数据floath=dht.readHumidity(); // 读取湿度floatt=dht.readTemperature(); // 读取温度(℃)// 打印数据到串口,格式:时间,温度,湿度(逗号分隔,Excel可识别)Serial.print(millis());Serial.print(",");Serial.print(t);Serial.print(",");Serial.println(h);}
#include <DHT.h>#define DHTPIN 4 // 传感器DATA引脚接Arduino D4#define DHTTYPE DHT22 // 传感器型号为DHT22DHTdht(DHTPIN, DHTTYPE);voidsetup() {Serial.begin(9600); // 波特率9600,与Excel一致dht.begin();}voidloop() {delay(1000); // 每秒采集一次数据floath=dht.readHumidity(); // 读取湿度floatt=dht.readTemperature(); // 读取温度(℃)// 打印数据到串口,格式:时间,温度,湿度(逗号分隔,Excel可识别)Serial.print(millis());Serial.print(",");Serial.print(t);Serial.print(",");Serial.println(h);}
(代码上传配图:直接获取→ 截图Arduino IDE界面,圈出“板型选择”“串口号选择”“上传按钮”,底部显示“上传成功”提示,尺寸1080×600px,确保操作步骤清晰)
打开之前搭建好的仪表盘Excel文件,点击顶部「Data Streamer」选项卡;
点击「Connect」,在弹出的窗口中,选择Arduino对应的串口号(和Arduino IDE中一致),波特率选择「9600」,数据分隔符选择「逗号」;
点击「Start Data」,等待1-2秒,Data In工作表会自动追加数据,Dashboard的温湿度实时跳动,曲线自动滚动,采集成功!
(采集效果配图:直接获取→ 截图Excel的Dashboard界面,展示实时跳动的温湿度数据和滚动曲线,标注“实时采集成功”,尺寸1080×800px,突出效果,让粉丝直观看到成果)
新手操作时可能会遇到一些问题,整理了3个最常见的坑,对照排查,快速解决:
问题1:Excel连接失败,提示“无法打开串口”
排查:检查串口号是否正确(设备管理器重新查看)、Arduino是否重启、USB线是否接触良好;
解决:关闭Arduino IDE(避免串口被占用),重新插拔USB线,选择正确串口号,重新连接。
问题2:Data In无数据显示,仪表盘不更新
排查:检查Arduino代码是否上传成功、传感器接线是否正确(VCC接5V、GND接地、DATA接D4)、波特率是否为9600;
解决:重新上传代码,检查接线,确保Arduino正常工作(可通过Arduino IDE串口监视器查看数据)。
问题3:导出历史数据失败,提示“宏被禁用”
排查:Excel文件未保存为启用宏的格式,宏被禁用;
解决:文件→另存为→选择「Excel启用宏的工作簿(.xlsm)」格式,重新打开,启用宏即可。
(避坑配图:直接获取→ 用Excel制作简易问题排查表格,包含问题、排查方法、解决方法,背景浅灰,尺寸1080×500px,方便粉丝对照查看)
按照上面的步骤,你就能快速搭建好温湿度实时监控仪表盘,一键采集、一键导出,不用复杂操作,新手也能轻松搞定!
留言区互动来啦!评论区告诉我:
👉 你平时需要采集什么类型的数据?温湿度、电压,还是其他?
我会根据大家的留言,后续补充对应的数据采集教程,帮大家解决实际问题。
💡 核心福利:关注公众号,回复“仪表盘”,即可获取「完整仪表盘模板+宏代码+Arduino代码」,直接下载打开就能用,不用自己搭建、不用自己写代码,节省大量时间!
这里提醒大家:采集到的数据往往比较杂乱,有异常值、空值,直接用来分析会出错,怎么办?
下一篇,我们讲Excel数据分析黄金搭档——Power Query+Power Pivot,教你快速清洗采集到的数据、搭建分析模型,秒出分析结果,记得锁定哦!