Excel直接导入MySql--MysqlExcelTool总结

将Excel直接导入到Mysql的工具

MySql Excel Tool

 

 

很久没有做自己的项目了,之前在实验室做物流网站,为了输入大量的数据使用了jxl.jar,可以通过Java操作Excel,从而将数据从Excel导入到MySql数据库中。

 

但每次操作一张表都需要重写大量类似的代码,于是产生了这个项目的想法。

 

因为MySql并不像MS Sql Server作为微软旗下的产品自带导入Excel的工具。

 

一,功能

 

1)  登陆、连接数据库

 

2)  查看数据库信息

 

3)  打开Excel文档

 

4) 设置Excel与数据表列对应,并导入到数据库

 

5) 返回数据库异常

 

二,工具

 

1) mysql-connector-java-5.0.5-bin.jar

 

2) jxl.jar

 

其实就是将mysql-connector-java-5.0.5-bin.jar和jxl.jar封装成一个可视化的工具

 

 

三,技术点

 

1) java Swing界面编写

 

2) JDBC

 

3) JXL API

 

 

四,工具界面

 

1) 登陆界面

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2) 主界面 初始界面

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

主界面使用了boardlayout和cardlayout的嵌套

 

左边显示的是数据库和表名,右边分为Table(红色)Excel(绿色)两栏,本想做成页签式的界面,无奈美工不到家。

 

Table栏可以显示表的基本信息

 

 

 

 

 

 

Excel栏

 

 

 

 

 

 

 

 

 

 

 

 

通过JFileChooser选择文件,只能打开xls文件,打开Excel文件

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

配置Excel表格和数据库表对应的列

 

 

 

 

 

 

 

 

 

 

 

下面是要导入的表的信息

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

所有非空的列必须有输入,否则会报错

点击导入即可导入到数据库

 

 

五,问题

 

1) 界面不友好,字体没有区分,整个界面看上非常的粗糙,表格内的字体也密密麻麻

 

    配置列的下拉框并没有和表格的列对齐,表格列越多越明显,甚至看不清是第几列

 

2) 没有解决外键的问题,键是只存在与数据库中的,但是外键又必需是非空的

 

     无法操作有外键的表

 

3) 没有解决唯一性约束的问题,因为我用的表没有唯一性约束,但是如果有,肯定会报错的

 

 

六,总结

 

本来是想用MVC的分层模式和接口来编写的,后来发现实际很难用MVC实现。接口也没有使用,代码依然是高耦合,冗余

 

代码也比较多。

 

虽然很多问题没有解决,但是这个项目还是完成了。因为这个项目对我来说有不同的意义,上个学期一直在做web,都是

 

用设计模式、框架,虽然是为了学习,但是觉得没有自己的特色。这个项目是出于我的兴趣而做的,应该说是重拾对程序的

 

兴趣。所以下阶段我还会继续完善这个MySql Excel Tool。首先重新设计代码结构,现在的代码结构不清晰,后续开发

 

也比较麻烦。然后是是用NetBeans重新改写界面,人靠衣装,佛靠金装,没有好的卖相是不行的。再解决剩下的对数据库

 

操作的问题。

 

 

 

下面是源代码和打包的Jar文件,希望各位多多指点。

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值