历时 1 个多月,我的第一个微信小程序「图片转 Excel」终于上线了!

前言

从萌生"做个表格图片转Excel工具"的想法,到微信小程序平台显示"审核通过",再到亲手在手机上打开可正常使用的小程序,这一个多月的时间里,我踩过备案的坑、熬过后端接口调试的夜、改过多版前端交互设计。这段从0到1的开发旅程,没有复杂的技术炫技,只有一步步解决问题的踏实,每一个细节都值得记录。

一、缘起:朋友的 "表格困境",逼我写了个临时脚本

做「图片转Excel」的初心,没有什么宏大的规划,是朋友的一次求助。

6月有个朋友要我帮他将60张表格图片转换成excel文件。 我点开他发来的图片,每张表格里都列满了公司名称、联系人、电话等关键信息,还有不少合并单元格和备注内容。尝试找了一些工具都有使用限制,包月也不划算,最后写个脚本完成了转换。

因为这个事我就想这个能不能做成一个产品,平时上班族处理纸质报表、学生整理实验数据、谁没遇到过 "想转表格却被工具限制" 的情况?既然临时脚本能帮朋友,为什么不做成一个轻量化工具,让更多人不用再求人、不用再为 "使用次数" 焦虑?于是7月底开始陆续在做微信小程序。

二、上线第一关:备案的22天,比写代码还磨人

原以为"写代码"是开发路上最难的事,没想到第一步"备案"就给了我一个下马威。微信小程序有硬性规定:所有网络请求必须通过已备案的域名发起,而域名又必须绑定服务器------这意味着,想让小程序上线,"服务器+域名+备案"三件套缺一不可,且每一步都不能急。

1. 小程序备案:1天搞定,却栽在"身份证"上

先花1天时间完成了基础配置:对比阿里云、腾讯云等服务商后,选了腾讯云4核4G的轻量应用服务器(初期用户量少,这个配置足够用),域名挑了个简单好记的.top后缀,一年服务器+域名的费用加起来不到100元,本以为接下来能顺顺利利走备案流程,结果提交信息后第二天就收到了服务商的驳回通知:"身份证状态异常,无法通过核验"。

我这才猛然想起,半年前身份证丢过一次,虽然当时及时补了新证,但旧证的"挂失记录"还在系统里,导致备案系统判定我的身份信息无效。没办法,只能重新办理身份证------先去派出所开挂失证明,再拍照、录指纹、提交申请,等新身份证寄到手里,整整花了15天。拿到新身份证的那天,我特意反复确认了证件状态,才敢重新提交备案信息。

2. 微信小程序备案:7天的"刷新进度"日常

重新提交备案信息后,就进入了漫长的审核期。备案流程分为"服务商初审"和"工信部终审":微信审核需要1-3天,工信部核验需要3-5天。那段时间,我每天早上醒来第一件事就是打开备案后台看进度,甚至每小时刷新一次页面------生怕错过审核通知,更怕因为信息表述不清被再次打回。

中间还遇到一次"小惊吓":腾讯客服打电话核实信息,详细询问"小程序的核心功能是什么""是否会存储用户上传的图片""是否涉及用户隐私数据"。我紧张得把"图片仅用于表格识别,识别后立即删除,不存储任何用户数据"的逻辑重复了三遍,生怕表述模糊导致审核失败。

直到第7天,微信收到消息"您的备案已通过",我才终于松了口气------这前后22天的备案波折,比后续写代码、调接口加起来还让人心力交瘁。

这里也想提醒想做小程序的朋友:备案前一定要提前检查身份证状态(是否过期、是否有挂失/注销记录),提交备案信息时尽量把"网站/小程序用途"写详细,避免因为小细节反复折腾。

3. 域名备案:7 天的 "刷新进度" 日常

重新提交备案信息后,就是漫长的审核期。备案流程分两步:服务商初审(1-3 天)和工信部终审(3-5 天)。那段时间,我每天早上醒来第一件事就是打开备案后台看进度,等了1个星期,终于审核通过。

三、开发阶段:后端"搭骨架",前端"磨交互",每天都是新挑战

备案搞定后,终于进入核心的开发环节。我把任务拆成"后端接口开发"和"前端交互实现"两部分,原计划2周完成,最后因为调试问题多花了5天,每一步都比预想中更耗时。

1. 后端:搞定"识别"与"生成",给小程序搭好"心脏"

后端是小程序的"核心引擎"------用户上传的表格图片,要靠后端完成识别、数据提取,最后生成Excel文件。我用Python+Flask框架开发,最花时间的是两个核心模块:

  • 表格识别:从"识别不准"到"准确率90%+":一开始尝试用开源OCR工具(如Tesseract),识别简单的单格表格还行,遇到合并单元格、斜线表头、模糊图片时就频繁"翻车",甚至把数字"1"识别成字母"l"。最后只能放弃纯开源方案,接入第三方成熟的表格识别API,再自己写代码做二次优化------比如对模糊图片自动增强对比度、对倾斜表格自动矫正角度、对识别后的单元格位置做格式校验,确保识别结果和原表格的行列对应一致。
  • Excel生成:让用户"一点就能下" :识别出表格数据后,用Python的openpyxl库生成标准的.xlsx文件,再将文件转成Base64格式返回给前端。这样用户点击"生成Excel"后,不用跳转第三方页面,直接在小程序里就能保存文件到手机,甚至分享给微信好友------这个"无缝下载"的细节,光调试格式兼容性就花了3天(比如解决部分手机无法识别Base64格式、文件命名乱码等问题)。

2. 前端:从"能用"到"好用",改了5版交互设计

前端开发的核心是"用户体验"------小程序的屏幕尺寸有限,要在小屏幕里把"选图-识别-生成-下载"的流程做清晰,还要避免用户操作时"迷路",比开发网页版更考验细节,因为我是后端,我这里主要使用了豆包和trace帮我完成前端代码的开发,现在ai确实能帮做很多自己能力之外的事情,特别是经历这次项目开发。

我先做了一版网页版原型tuwen.asia/index.html(...

  • 图片预览区:一开始随图片尺寸自动拉伸,导致用户选到大图后,下方的"生成按钮"会下移,影响操作连贯性。最后改成固定高度(300px),用"溢出隐藏+居中显示"让图片自适应容器,确保按钮位置始终不变;
  • 加载反馈:识别表格需要2-3秒,一开始没有任何提示,用户以为"点击没反应"。后来加了环形加载动画,避免用户焦虑;
  • 按钮设计:最初用纯绿色按钮,觉得和"科技感"风格不搭";改成纯蓝色,字体用白色后,既醒目又符合工具类小程序的定位。

前端开发没有什么复杂的技术,但每一个小细节都要反复打磨------比如按钮的点击反馈、弹窗的出现动画、错误提示的文案,都要考虑"用户会不会看不懂""操作会不会卡顿"。

四、上线那一刻:看着手机里的小程序,立马分享给我的好朋友

所有开发、调试、测试都完成后,我在微信公众平台提交了小程序审核。提交前,我反复检查了3遍:隐私政策是否完整(明确告知用户"不存储图片")、功能描述是否清晰(避免审核人员误解用途)、接口请求是否全部走备案域名、有没有冗余的测试代码。

审核的24小时里,我每天打开微信公众平台后台看无数次,生怕收到"审核驳回"的通知。直到第二天下午,手机收到公众号推送"您的小程序审核通过,已上线",我手都有点抖------赶紧打开微信,搜索"图片转Excel",点击打开小程序:选择一张表格图片、点击"生成Excel"、看到文件成功保存到手机,整个流程一气呵成。

那一刻,突然感动了自我:这一个多月的辛苦,从备案时的焦虑等待,到后端调试到凌晨的疲惫,再到前端反复改交互的纠结,都在看到小程序正常运行的瞬间有了意义。

上线第一天,我把小程序分享到朋友群,没想到1小时内就有20多个用户试用。

五、复盘:这一个多月,我学到的3件事

回头看这段从0到1的经历,与其说是"开发了一个小程序",不如说是"完成了一次完整的产品实践"。没有什么惊天动地的突破,但每一个踩过的坑、解决的问题,都让我有了新的感悟:

  1. "小细节"能决定"大进度":如果一开始提前检查身份证状态,就不会多花15天等新证;如果备案时提前和服务商确认信息表述,就不用反复刷新进度------很多时候,耽误时间的不是"难事儿",而是容易忽略的小细节。
  2. "解决痛点"比"堆功能"更重要:开发时我曾想加"表格在线编辑""数据可视化""多格式导出"等功能,但最后还是先聚焦"识别+生成"这一个核心需求。
  3. "耐心"是从0到1的必修课:备案时等22天,调试接口时熬3个夜,审核时等24小时------做产品没有"速成",学会接受"等待",学会一步步解决问题,才能把事情做扎实。

六、未来:还有很多"小目标"要实现

现在「图片转Excel」只是1.0版本,上线后收到的用户反馈,我都一一记在了笔记本上:

  • 希望支持"批量识别多张图片"(不用一张一张上传);
  • 希望能"在线编辑识别后的表格"(方便修改小错误);
  • 希望支持"导出CSV/Word格式"(适配不同使用场景);

这些需求会在后续的2.0、3.0版本里慢慢实现。如果说一开始做这个小程序是为了解决自己的麻烦,那现在更多的是想让它帮到更多人------比如学生整理课堂笔记、上班族处理纸质报表、宝妈记录家庭开支,让大家都能摆脱"手动输表格"的麻烦。

最后想跟所有想做小程序的朋友说:别害怕"不懂技术",别担心"流程复杂"。从一个小需求出发,把每一步拆解开(比如先搞定备案,再做后端,最后做前端),慢慢走,总会看到成果。就像我,一个多月前还在为备案焦虑,现在已经能看着自己做的小程序被别人使用------你看,只要开始,就不算晚。

如果你也有"表格图片转Excel"的需求,欢迎搜索「智能识图转Excel」试试~也期待收到你的反馈,让这个小程序变得更好!

相关推荐
一个很老的小萌新4 小时前
json 解析 [{“id“:1,“name“:“apple“},{“id“:2,“name“:“banana“}]
java·前端·json
计算机毕业设计指导4 小时前
基于Spring Boot的幼儿园管理系统
spring boot·后端·信息可视化
yanlele4 小时前
前端面试第 78 期 - 2025.09.07 更新 Nginx 专题面试总结(12 道题)
前端·javascript·面试
年轻的麦子4 小时前
Go 框架学习之:go.uber.org/fx项目实战
后端·go
小蒜学长4 小时前
django全国小米su7的行情查询系统(代码+数据库+LW)
java·数据库·spring boot·后端
影子信息4 小时前
el-tree 点击父节点无效,只能选中子节点
前端·javascript·vue.js
拜无忧4 小时前
完美圆角,渐变边框,兼容chrome 60,两层背景的视觉差
前端·css
徐小夕4 小时前
用Vue3写了一款协同文档编辑器,效果简直牛!
前端·javascript·vue.js
wangbing11254 小时前
界面规范8-文字
前端·javascript·html