你知道的越多,你不知道的越多 点赞再看,养成习惯 如果您有疑问或者见解,欢迎指教: 企鹅:869192208
前言
最近在甲方爸爸的要(威)求(逼)下,项目经理带来了客户的全新需求,希望能够在原有编辑表单填写的过程中,简化列表数据输入过程,通过下载列表对应的数据表的表结构作为 excel 模板,然后客户只需要根据模板提示填写 excel 内容,再导入到数据库中,最终回显到编辑列表。
通过简化这个需求,抽象出核心功能,那就是根据表结构,动态实现数据模板的导出和数据的导入,趁着清明节三天假期,研究一下这个需求的实现逻辑。
思路
- 使用 POI 作为 excel 的导入导出支撑
- 需要同时支持 oracle 和 mysql 数据库
- 导出:
- sql 查出数据库指定表的表字段名、数据类型和注释等信息
- 将表的字段名,数据类型和注释信息分别输出到 excel 前三行,形成模板
- 先读取字段和字段类型,将其存入 LinkedHashMap
- 获取一共有多少个字段需要导入,以此为数据循环的截止参数(字段数量和每行的数据个数一致)
- 获取表中的内容,因为前三列分别是字段名、字段类型和描述,从第4行开始才是 excel 中需要插入数据库的内容
- 循环获取数据每一行的每一个单元格,根据单元格的数据类型,将数据转换
|