asp.net上传excel文件到tpf服务器_一次Excel表格的快速Web化过程

​需求:装三台液晶电视,用于展示各级部每天的日常检查评比结果。

任务:将各年级上传的xlsx文件,动态发布到网站,电视定时刷新访问。

分析:几乎无并发,只涉及几台机器联网,适合最轻量级的方案。

方向:用轻量Web框架,接受用户上传表格,然后转网页展示。

实现Excel转网页

其实这一 步,可以用直接另存为的方式实现。但是微软生成的这个htm文件里面全是JS,纷繁芜杂,不利于二次修改和补充。理想的情况是,用html里面的table标签来生成。经过网络检索,我们选择用著名的pandas模块(依赖xlrd模块)来自动生成。

7f4ca31503872a02d78e3da51eda81fd.png

以上代码其实就是文件读写,最终我们是要往out文件夹写html文件,过程是分块拼起来的。

  • 先写入头部的固定部分: 指定编码、定时刷新、表格样式控制
  • 再写中间合并过的部分:通过替换部分表头解决pandas无单元格合并问题
  • 后写网页底自定义部分:添加一点个性化文字的东西

html头、样式部分

9666a6cf50fcc9991713ea18ffd6c442.png

替换合并单元格部分

571dd3c4e21f4594ba83a7d58ff8c772.png

实现Web响应

既然都用Python来做了,就怎么省时省力怎么来,毕竟是义务劳动。早点忙完了这个活,然后,就可以:

开始忙下个活了……

所以直接上框架,Flask这样的轻量级框架走起,不过今天找到一个更轻量级的框架,写几句代码,就能实现Web交互-bottle

这货居然就一个py文件,所以你可以pip安装,也可以直接import这个bottle.py。用它的files.get方法就可以拿到用户提交,写python跑功能,最后把结果返回给用户了。

这种框架的好处是,不需要配置Tomcat、IIS这样的Web服务器,写出来的server.py本身,即能响应用户,部署起来飞快。

代码其实我基本是从CSDN照扒的,贴下出处:https://bbs.csdn.net/topics/392190705

f2d9b2970bfcc2a5c8800911065d1a84.png

4ccefbd22ab9e24b5795175969b65d45.png

最后这里比较关键,实现任意电脑可以访问本机的89端口打开站点。

最终运行效果如下:

服务器

6c6fa14427c8d22ae9d450cbde3eafb4.png

自管会上传界面

6bf4156fa32fdb38937971d939807180.png

4d22c72dab5e51702e8b5a43630a5f15.png

电视刷新展示界面

237588c4afeb5106b121bcd7f4b1706d.png

以上就是本次问题解决的过程,还是走了一些弯路,大概耗时2h。

总结一下经验,也做为将来课堂上程序教学的培养方向:

  • 效率优先:尽量设计简单高效的步骤,读入数据库就是舍近求远。
  • 知识检索:先学习,再改进,就是新课标倡导的数字化学习与创新。
  • 夯实基础:更多精力解决新问题,而非文件读写、字符串替换等基础。

更多技术文章,请关注:

326a243ae85f8785e2c046cf5eb0ade2.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值