[发明专利]上传不定长表头数据到mysql同一张表的方法及系统在审
申请号: | 202211596284.6 | 申请日: | 2022-12-13 |
公开(公告)号: | CN115934720A | 公开(公告)日: | 2023-04-07 |
发明(设计)人: | 吴玉祥;叶玎玎;张金银 | 申请(专利权)人: | 杭州比智科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/242 |
代理公司: | 北京云科知识产权代理事务所(特殊普通合伙) 11483 | 代理人: | 王素贞 |
地址: | 311121 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 上传 定长 表头 数据 mysql 一张 方法 系统 | ||
本发明公开了一种上传不定长表头的数据到mysql同一张表的方法及系统,包括以下步骤:S1,设计用于存储excel表数据和表头的的数据库表;S2,将excel表数据上传到应用中,读取excel的sheet对象;S3,读取sheet对象中所有数据的行数和列数,以及表头,将所有表头保存在一张mysql数据库表中,每条记录赋予同一个表格编号;S4,利用java的poi工具根据步骤S2中获取的行数和列数读取sheet对象中每一格有数据的单元格的数据和元数据;S5,根据记录的表头信息、表格编号、列编号和行编号,将数据通过sql列转行转换成子查询,然后使用普通的sql对子查询进行查询。能够现实将不定长度表头的excel表格的数据保存到同一张mysql数据库表中,并且可以像查普通的表一样通过sql查询保存的数据。
技术领域
本发明涉及计算机及大数据处理技术领域,尤其是涉及一种基于java实现上传不定长表头的excel数据到mysql同一张表的方法及系统。
背景技术
在上传excel数据到mysql数据库时,需要在mysql数据库建立一张与excel表头对应的表,并且在建表时,需要提前知道将要上传的表的元数据来决定表中每个字段的数据类型以及长度。接着通过对应的java代码读取到excel中数据的表头与数据,然后将数据保存到数据库对应的那张表中,最终可以通过sql来查询并使用保存的数据。
但这类方式仍有不足:第一方面,根据excel的表头来建立mysql数据库表,需要提前知晓excel的表头以及数据类型才能在mysql数据库中建立对应的数据库表,未知的excel数据将无法上传与保存;第二方面,需要为每一种excel表头的新建一张对应的数据库表,开发对应的新的java代码来读取数据,最后保存到对应的数据库表中。
发明内容
针对现有技术存在的问题,本发明的目的在于提供一种方法及系统,能够现实将不定长度表头的excel表格的数据保存到同一张mysql数据库表中,并且可以像查普通的表一样通过sql查询保存的数据。
为实现上述目的,本发明提供一种上传不定长表头数据到mysql同一张表的方法,所述方法包括以下步骤:
步骤S1,设计用于存储excel表数据和表头的的数据库表;
步骤S2,将excel表数据上传到应用中,利用java的poi工具类读取excel的sheet对象;
步骤S3,利用java的poi工具读取sheet对象中所有数据的行数和列数,以及表头,将所有表头保存在一张mysql数据库表中,每条记录赋予同一个表格编号;
步骤S4,利用java的poi工具根据步骤S2中获取的行数和列数读取sheet对象中每一格有数据的单元格的数据和元数据,读取之后将每一单元格的数据,列编号,行编号,元数据保存到统一的mysql数据库表中,并且同一excel每条记录赋予步骤S2中表格编号;
步骤S5,根据记录的表头信息、表格编号、列编号和行编号,将数据通过sql列转行转换成子查询,然后使用普通的sql对子查询进行查询。
进一步,在步骤S1中,数据库表设计为:
存储excel表数据的数据库表,一份excel的所有有数据的单元格对应一行数据;
存储表头的数据库表,一份excel对应一行数据。
进一步,存储excel表数据的数据库表的字段如下:
id,当前数据表的主键,用于快速检索表数据;
dataset_id,用于存储上传的excel的的数据的表格编号,同一份excel上传的数据拥有同一个表格编号;
field,用于存储excel单元格的列编号;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州比智科技有限公司,未经杭州比智科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211596284.6/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置