excel模板数据填充 :tablefill
背景(问题)
在Web后台系统中或多或少都存在导入数据的功能,其中操作流程基本是
1.下载模板
2.填充模板数据
3.上传模板
但通常比较耗费时间的是填充模板数据这一步骤, 已自己为例之前的数据要么是随便想的或者通过Python库Faker来生成虚拟数据之后,手动将数据复制到excel模板中。
tablefill
tablefill 解决的问题,手动将数据复制到excel模板中这一步骤给省略掉。它通过一个列配置文件来指定生成的数据,并填充到模板中。
整体实现是比较简单的:1.读取配置文件,2.用Faker库转换数据,3.追加写入excel文件
https://pypi.org/project/tablefill/
使用
安装
pip install tablefill
CLI
# 通过一下查看有那些命令
fill --help
配置列数据类型
[
{
"type": "faker", // 可选值 faker(默认值,可不写type这个字段)、input 会直接读取var 的值 由自己设置
"func": "name", // 对应的是 Faker 生成虚拟数据的那些方法名 https://faker.readthedocs.io/en/master/providers.html
"var": null, // 没有参数时可以不写该字段, 当type 为faker时 这部分会被作为func 对应函数名的入参
"varFirst": "前", // 如果不需要可以不写该字段, 会在 var 这个 参数 前面 加上 内容
"varEnd": "后" // 如果不需要可以不写该字段, 会在 var 这个 参数 后面 加上 内容
}
]
示例
[
{
"type": "input",
"var": "这列我输入"
},
{
"func": "phone_number"
},
{
"func": "random_int",
"var": {
"min": 10,
"max": 21
},
"varFirst": "编号",
"varEnd": "班"
},
{
"func": "random_elements",
"var": {
"elements": ["小学", "高中", "初中"],
"length": 1
}
}
]
导入模板文件
需要是xlsx/xls文件
执行命令
# --num 可选参数 默认 10条 ,这里就是30条
fill generate 配置文件 模板文件 生成文件名 --num 30
fill generate "E:\coding\tablefill\examples\demo.json" "E:\coding\tablefill\examples\demo.xlsx" demo.xls
填充数据后的文件

已知问题
- 生成的文件后缀是
.xlsx时,用office 无法打开: 解决办法: 后缀改为.xls - 生成的文件会丢失之前模板文件中的样式
excel模板数据填充 :tablefill的更多相关文章
- java后台读取excel模板数据
/** * 读取EXCEL模板数据 * * @param excelFilePath excel文件路径 * @param dataRowNum 开始读取数据的行数 * @param keyRowNu ...
- poi读取excel模板,填充内容并导出,支持导出2007支持公式自动计算
/** * 版权所有(C) 2016 * @author www.xiongge.club * @date 2016-12-7 上午10:03:29 */ package xlsx; /** * @C ...
- C# Aspose填充excel模板数据,下载
public Result<object> GetAExcelFieItem(string[] aid, int kind, string contype) { string fileUr ...
- java导出excel模板数据
Java导出excel数据模板,这里直接贴代码开发,流程性的走下去就是步骤: String[] colName=new String[]{"期间","科目代码" ...
- 用NPOI从DataTable到Excel,向Excel模板填充数据
DataTable---->Excel,填充数据 private IWorkbook workbook = null; private ISheet sheet = null; private ...
- POI3.10读取Excel模板填充数据后生成新的Excel文件
private final DecimalFormat df = new DecimalFormat("#0.00"); public void test(){ String fi ...
- Net 自定义Excel模板导出数据
转载自:http://www.cnblogs.com/jbps/p/3549671.html?utm_source=tuicool&utm_medium=referral 1 using Sy ...
- ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案 try.dot.net 的正确使用姿势 .Net NPOI 根据excel模板导出excel、直接生成excel .Net NPOI 上传excel文件、提交后台获取excel里的数据
ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案 ASP.NET Core 从2.2版本开始,采用了一个新的名为Endpoint的路由方案,与原来的方案在使用上差别不 ...
- c# 导出数据到Excel模板
最近在做一个发邮件的功能,客户要求需要导出一个Excel附件,并给了附件的格式, eg: Last Name 姓 First Name 名 Chinese Characters汉字书写(仅大陆人填写) ...
随机推荐
- msql中@RequestParam、@Param、@PathVariable的用法
@RequestParam的用法 1.可以对传入参数指定参数名,将请求参数绑定至方法参数 // 下面的对传入参数指定为aa,如果前端不传aa参数名,会报错 @RequestParam(value=&q ...
- Js/jquery常用
id属性不能有空格 1. js判断checkebox是否被选中 var ischecked = document.getElementById("xxx").checked // ...
- 二级C语言题集
时间:2015-5-13 18:01 在131题之后是按考点分类的题集,有需要的朋友可以看一下 ---------------------------------------------------- ...
- 【C语言】
第3章 最简单的C程序设计 顺序程序设计 数据的表现形式及其运算 常量.变量.常变量.标识符 数据类型 整型.浮点型 整型数据的分类 最基本的整型类型 基本整型(int型):占2个或4个字节 短整型( ...
- 高德地图——骑行路线&骑行指定
&plugin=AMap.Riding 也是[]中放json, 包含keyword和city,不能有途经1.骑行路线(关键字) <!DOCTYPE html> <html&g ...
- 高德地图——步行路线&步行路线的坐标规划
步行操作与开车一样 唯一区别就是src末尾加入&plugin=AMap.Walkling 以及new AMap.Walking({}) <!DOCTYPE html> <ht ...
- 分数化循环小数C++实现
引言 前一阵做了一个有理数四则混合运算的程序(详见:用C++实现的有理数(分数)四则混合运算计算器),以分数形式呈现运算结果.这次添加以循环小数形式呈现运算结果的功能.例如: Please input ...
- tomcat配置启动不了
关于ideatomcat配置问题 1.第一步配置tomcat启动器 2.配置启动的网址 3.配置启动器的启动 ---更多java学习,请见本人小博客:https://zhangjzm.gitee.io ...
- vue 打开新窗口进行打印
父文件 let { href } = this.$router.resolve({ path: ' 自己配置本地路由,不需要动态路由 ', query: 个人建议传一整个对象 }) window.op ...
- pycharm 汉化
1.首先进入pycharm,点击file,找到setting. 2.点击 plugins 搜索Chinese,找到Chinese(simplified)Language Pack EAP,点击inst ...
