AppInventor2 中文社区
标题:
App 里记的数据,怎么变成一张表格发到微信?App Inventor 不装拓展就能做
[打印本页]
作者:
App Inventor 2
时间:
5 小时前
标题:
App 里记的数据,怎么变成一张表格发到微信?App Inventor 不装拓展就能做
摘要:
有用户问:App 里记了一堆账,想导出成 CSV 发给别人,电脑上用表格打开。答案是能做,列表转 CSV 表格、文件管理器、信息分享器三块积木就够了。顺带把「分享出去是空文件」「Excel 中文乱码」这两个坑讲清楚。
先说结论:能做,而且不用拓展
这个需求很常见:记账本想把一个月的账发给家里人,打卡 App 想把考勤交给老师,测量工具想把数据交给电脑分析。
▲ 记账、打卡、测量,数据都在手机里说到底是三件事:把数据变成表格文本、存成文件、交给微信或 QQ 发出去。App Inventor 里正好各有一块积木:• 列表抽屉的「列表转换为CSV表」:列表里每一项是一行,自动变成逗号分隔的文本;• 文件管理器的「保存文件」:把文本写成 .csv 文件;• 信息分享器的「分享文件」:弹出系统分享面板,用户自己选发到哪。CSV 就是逗号分隔的纯文本,一行一条记录。WPS、Excel、Numbers 都能直接打开,一格一格排好。
第一步:记下来
每记一笔是一行:日期、项目、金额三项组成一个小列表,所有行放进大列表「账目」,同时存进微数据库,关了 App 再打开还在:
▲ 每记一笔存一行,微数据库保证关了 App 数据还在
第二步:存成文件,存好了再分享
导出时先拼一行表头,把账目接在后面,转成 CSV 文本存起来。文件名带上时间,发出去好几份也分得清:
▲ 导出:转成 CSV 存文件,存完毕再分享点「导出」,分享面板弹出来,选微信发给文件传输助手,电脑上打开就是一张三列的表。
▲ 存完毕就弹出分享面板,发到哪由用户自己选这里有两处是故意这么写的。
分享放在「文件存储完毕时」事件里。
保存文件是异步的,「保存文件」这块积木把活交出去就返回了,文件可能还没写完。如果在它下一行直接分享,对方收到的可能是空文件或者上一次的旧文件。等「文件存储完毕时」触发再分享,文件一定已经写好。
文件名只写名字,不带斜杠。
这样文件落在应用自己的目录里,不需要任何存储权限;信息分享器对不带斜杠的名字也找同一个目录,两边说的是同一个文件。还有一个细节:项目名里带逗号,比如「午饭,加蛋」,「列表转换为CSV表」会自动给这一格加引号,打开还是一格。自己用「合并文本」拼逗号,这一行就错位了。
第三步:还能读回来
换了手机想把数据导回来,反过来就行:读取文件,用「CSV表转换为列表」变回列表,去掉第一行表头:
▲ 导入:读取文件,转回列表,去掉表头「记账.csv」换成要导入的那一份的名字,比如「记账_20260930_1830.csv」。文件从微信收到的话,先存进 App 的目录再读。
▲ 电脑上打开,就是一张排好的表格
几个常见问题
Excel 打开中文乱码:
文件是 UTF-8,老版 Excel 双击时按本地编码猜。WPS、新版 Excel 直接打开正常;老版用「数据 → 从文本/CSV」导入选 UTF-8。
分享出去是空文件:
保存下一行就分享,文件没写完。放到「文件存储完毕时」事件里。
提示找不到文件:
文件名带了斜杠,或改过文件范围。只写名字,范围保持默认「应用」。
想追加不想覆盖:
保存文件会覆盖同名文件。用「追加内容」,配合「列表转换为CSV行」。
最后
安卓和鸿蒙都能用,积木原样不改。完整的分步实验(每一步怎么验证、带日期文件名、导入)已经整理进文档:
fun123.cn 文件管理器积木参考
,站内搜「CSV 文件分享」也能找到。好了,是不是很简单,今天的分享就到此结束,咱们下回见!
欢迎光临 AppInventor2 中文社区 (https://bbs.tsingfun.com/)
Powered by Discuz! X3.3