> 技术文档 > Excel导入数据库-01.构思

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

详细说明

字段名 类型 必填 描述 ModelName string 是 关联 Table 表中的 ModelName ExcelField string 是 Excel 中的列名 TableField string 是 对应数据库表的字段名 DefaultValue  string 否 默认值。支持以下特殊值:• `auto-generate` 自动生成批次 ID• `auto-datetime` 使用当前时间• `auto-line-number` 自动行号• `auto-generate-row` 每行生成唯一 ID Desc string 否 描述说明 Remark string 否 备注说明

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中配置。

文档备份机制

        自定义是否备份、备份路径,备份文件保留天数;

异常处理方案

        提供错误定位与批量修正功能,降低人工干预成本。

适用场景

        适合需要频繁调整导入规则或处理多源异构数据的开发人员及数据分析师。通过本方案可减少重复编码,提升数据接入效率。