Excel导入数据库-01.构思
系列文件目录
源代码:gitee
01.构思
文章目录
目录
系列文件目录
文章目录
前沿
核心内容规划
基础架构设计
字段映射逻辑
数据翻译机制
文档备份机制
异常处理方案
适用场景
前沿
Excel数据导入数据库是常见需求,但传统固定模板难以满足灵活多变的业务场景。本专栏提供一套自由定义导入的解决方案,从零构建完整流程,涵盖规则设定、字段映射、数据校验、数据翻译、导入后处理等功能模块,实现高度可配置化操作。
核心内容规划
基础架构设计
通过配置文件用户自定义导入模板。
打开config\\ImpConfig.xlsx中sheet:Table
详细说明:
字段
值
说明
序号
1
ModelName
SN_C_CFM
模块
Desc
C类料交期回复
说明
FilePath
docs\\imp\\SN
档路径
FileName
SN-Ass大料况*.xlsx
上传档,SN-Ass大料况*.xlsx表示SN-Ass大料况开头.xlsx档
SheetName
Sheet1(2)
读取sheet名,如果不设定或者找不到读取第一个sheet
TableName
EPI_PO_ASS_CONFIRM
写入数据库表名
Rows
有效数据从第几行开始,尚未开发
Cols
有效数据从第几列开始,尚未开发
ControlTable
CONTROL_TABLE
控制表定义,若不定义就不会写控制表
AfterImporting
运行前运行程序,尚未开发
BeforeImporting
运行后运行程序,尚未开发
BakPath
docs\\imp\\bak\\SN
档运行后备份路径
字段映射逻辑
通过可视化配置实现Excel列与数据库字段的灵活匹配。
打开config\\ImpConfig.xlsx中sheet:Field
详细说明
CONTROL_TABLE定义
CONTROL_TABLE:作用同步资料控制所用,可以自定义具体表名字与栏位名字
序号
ModelName
ExcelField
TableField
DefaultValue
Desc
remark
30
CONTROL_TABLE_WRITE
BATCH_ID
default-batch-id
默认批次号码
31
CONTROL_TABLE_WRITE
PROCESS_CODE
2000
项目代码
32
CONTROL_TABLE_WRITE
SERVER_CODE
SERCOMM
服务代码
33
CONTROL_TABLE_WRITE
DATA_COUNT
default-data-count
笔数
34
CONTROL_TABLE_WRITE
STATUS_CODE
100
状态代码
35
CONTROL_TABLE_WRITE
ERROR_MESSAGE
default-error-message
错误代码
36
CONTROL_TABLE_WRITE
B2B_CREATION_DATE_TIME
auto-datetime
创建日期
37
CONTROL_TABLE_WRITE
B2B_LAST_UPDATE_DATE_TIME
auto-datetime
修改日期
38
CONTROL_TABLE_READY
BATCH_ID
default-batch-id
默认批次号码
39
CONTROL_TABLE_READY
PROCESS_CODE
2000
项目代码
40
CONTROL_TABLE_READY
SERVER_CODE
SERCOMM
服务代码
41
CONTROL_TABLE_READY
DATA_COUNT
default-data-count
笔数
42
CONTROL_TABLE_READY
RETRY_COUNT
0
42
CONTROL_TABLE_READY
STATUS_CODE
120
状态代码
43
CONTROL_TABLE_READY
ERROR_MESSAGE
default-error-message
错误代码
44
CONTROL_TABLE_READY
B2B_CREATION_DATE_TIME
auto-datetime
创建日期
45
CONTROL_TABLE_READY
B2B_LAST_UPDATE_DATE_TIME
auto-datetime
修改日期
46
CONTROL_TABLE_FAILL
BATCH_ID
default-batch-id
默认批次号码
47
CONTROL_TABLE_FAILL
PROCESS_CODE
2000
项目代码
48
CONTROL_TABLE_FAILL
SERVER_CODE
SERCOMM
服务代码
49
CONTROL_TABLE_FAILL
DATA_COUNT
default-data-count
笔数
50
CONTROL_TABLE_FAILL
STATUS_CODE
120
状态代码
51
CONTROL_TABLE_FAILL
ERROR_MESSAGE
default-error-message
错误代码
52
CONTROL_TABLE_FAILL
B2B_CREATION_DATE_TIME
auto-datetime
创建日期
53
CONTROL_TABLE_FAILL
B2B_LAST_UPDATE_DATE_TIME
auto-datetime
修改日期
ModelName:只加Table中ControlTable对应WRITE【写入】,READY【准备】,FAILL【失败】
TableField:根据实际栏位进行,可自定义。
目前只写了CONTROL_TABLE_READY。
数据翻译机制
内置中繁翻译保证写入资料库不出现乱码,具体在config\\.env中配置。
文档备份机制
自定义是否备份、备份路径,备份文件保留天数;
异常处理方案
提供错误定位与批量修正功能,降低人工干预成本。
适用场景
适合需要频繁调整导入规则或处理多源异构数据的开发人员及数据分析师。通过本方案可减少重复编码,提升数据接入效率。