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汉字书写(仅大陆人填写) ...
随机推荐
- Object 类中的主要结构
== 操作符与equals 方法 == 操作符 equals 方法 重写equals() 方法的 toString() 方法
- 遇到的C++ cli 转 C++ native 为C# 程序提供接口。
接口文件 /*++ (do not edit the above line) ************************************************************* ...
- a、b、n为正整数且a>b,证明:若n|(a^n-b^n),则n|(a^n-b^n)/(a-b).
- Oracle环境配置之山路十八弯
Oracle数据库的安装 背景: 因为疫情原因,只能在家上网课,学习Oracle的时候需要安装数据库,但是!! 安装的时候出现了报错: 无法检查指定的位置是否位于 CFS 上. 出来这个基本无解,这个 ...
- Mac automator bash 自动操作 右键菜单unrar解压 拷贝文件路径到剪贴板 快速删除(rm -rf) 快捷键设置
https://tecadmin.net/pass-command-line-arguments-in-shell-script/ https://tecadmin.net/tutorial/bash ...
- 优化技术专题-线程间的高性能消息框架-深入浅出Disruptor的使用和原理
前提概要 简单回顾 jdk 里的队列: 阻塞队列: ArrayBlockingQueue主要通过:数组(Object[])+ 计数器(count)+ ReetrantLock的Condition (n ...
- FlinkCDC 2.0使用实践体验
一.背景说明 所谓CDC:全称是 Change Data Capture ,在广义的概念上,只要能捕获数据变更的技术,我们都可以称为 CDC .通常我们说的 CDC 技术主要面向数据库的变更,是一种用 ...
- 常量&&变量
一.常量:程序运行期间不变 常量使用: 二.八大基本数据类型变量: 其中,一个Byte类型数据占八个bit位,所以范围是(-2^7 ~ 2^7-1),数据最小的存储单位,是四分之一的int类型空间,所 ...
- Python - poetry(3)配置项详解
config 命令 poetry 通过 config 命令进行配置 也可以直接在 config.toml 文件中进行配置,该文件将在首次运行该命令时自动创建 文件目录 macOS:~/Library/ ...
- 迷你DVD
public class DVD { private int ID;//id private String status;//状态 private String name;//名称 private S ...
