Excelize系统设计
养成习惯,👍再看,源码在文章后面
写在前面,🍷感谢go社区的excelize框架😘,https://github.com/360EntSecGroup-Skylar/excelize
版本说明
这个版本只是第一版,简单利用了excelize的api写了一套后台接口,实现了excel模版自定义,历史保存功能,数据库用的是mongos
接口请求参数设计
excelize的功能很多,所以前端给的请求的参数格式也比较严格,目前规定好的接口格式如下
保存excel操作模版
- 请求参数
{
"op_type": 1,
"log_time": 1314324141341,
"owner": "james",
"collection": "模版1",
"model": "第一次修改",
"design": {
"merge_block": [
"B1:D1"
],
"operate_block": [
{
"name": "B1",
"value": "这是一个测试报表",
"size": 20,
"color": "#4169E1",
"font_color": "#000000",
"font_family": "STKaiti",
"horizontal": "center",
"vertical": "center",
"type": "pattern",
"pattern": 1,
"border": [
{
"border_type": "top",
"border_color": "#FF0000",
"border_style": 3
}
]
}
],
"rows": [
{
"name": 3,
"height": 30,
"color": "#5F9EA0"
}
],
"cols": [
{
"name": 1,
"width": 30,
"color": "#5F9EA0"
}
]
},
"data": [
{
"name": "A3",
"cell_type": 1,
"cell_value": "詹姆斯"
},
{
"name": "B3",
"cell_type": 1,
"cell_value": "22"
},
{
"name": "C3",
"cell_type": 1,
"cell_value": "csdn大学"
}
]
}
- 响应参数
{
"code": 200,
"data": {
"InsertedID": "5f363efa076a44e55b04b340"
},
"msg": "保存成功"
}
导出模版
- 请求参数
{
"id": "5f363efa076a44e55b04b340",
"collection": "模版1",
"model": "第一次修改"
}
这时在系统的根目录下就会有模版文件生成,形如
具体逻辑可以参考代码,以后会实现更多的功能,欢迎提出更好的设计想法,代码在我的github上,喜欢的朋友请给我个star吧😘
直通车✈️https://github.com/zxhjames/ExcelizeSystem