Bootstrap table打造类Excel形式的数据表

您所在的位置:网站首页 excel用if函数对成绩进行等级划分 Bootstrap table打造类Excel形式的数据表

Bootstrap table打造类Excel形式的数据表

2023-05-10 15:37| 来源: 网络整理| 查看: 265

上一篇向大家展示了如何在网页上显示表格的方法,但原先这个并不是一个普通的excel表格,这是个类似于数据库形式的,而且表格的列名已经被预定义。这一篇将探究 如何将Excel表格的数据完整的搬到网页上来。

Bootstrap table的另一种加载数据方式

除了像上一篇一样,直接在绘制表格的步骤中配置url参数,获取数据进行加载以外,还可以在这个步骤之外加载数据

$ ('#my_table').bootstrapTable('load', data.table_data);

有了这种方式,我们可以将表格绘制和数据的加载进行分离,这样的好处是我们可以通过ajax函数,将表格的表头和数据单独加载后组装至页面中,实现表格列与数据的动态加载。

改造

改造 上一篇中的视图函数和js文件

视图函数将表头数据和表格内部数据封装为两个字典,最后通过一个大字典返回给页面。

 

image.png

视图函数将原先的渲染步骤url和method去除,将其封装到ajax中,进行处理,这是第一步。

 

image.png

第二步就是前面加载数据的代码,将数据渲染给表格。

达成的效果仍与原先一致。

 

向Excel方式展示改造

前面动态生成了表格,但还不是一样的Excel表格,需要将列名进行变换,并加上索引列。主要修改原来的视图函数。

读取表格和返回数据的部分不改变,在22-27行,先遍历一遍表格,找出列数里最大值,以确定我们需要表头是什么,因为最头上还有个数字索引列,所以 加了一个序号在前面,这里使用的是数字,Excel称之为R1C1样式。

35-41行对上面得到的表头进行拼接,组装成bootstrap table能够识别的格式。

28-33行对Excel表格中的数据进行遍历,这里用到了itertools库中的zip_longest函数对表格数据进行组装,zip_longest可以 忽略组装数据的长度不等性 ,以最长的部分生成数据,用None补齐。 复制代码

  image.png

原表格的显示效果如下,这里不需要排除第一行:

image.png

在原数据表格上增加 干扰 数据

  image.png

再次刷新页面可以查看到能够按照 我们的预期显示

image.png

而这些小短线,可以在表格配置区域增加设置即可显示为空

undefinedText: '',

image.png



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3