将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文件,希望各位多多指点。