精华帖 (0) :: 良好帖 (0) :: 灌水帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-09-13
最后修改:2010-09-27
将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文件,希望各位多多指点。
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-09-13
嗯,不错,
|
|
返回顶楼 | |
发表时间:2010-09-13
我在用NetBeans改界面,还不知道这星期能不能改好啊,好纠结
|
|
返回顶楼 | |
发表时间:2010-09-13
javafound 写道 嗯,不错,
我在用NetBeans改界面,还不知道这星期能不能改好啊,好纠结 |
|
返回顶楼 | |
发表时间:2010-11-06
怎么用不了啊,兄台 ?
截图见附件 |
|
返回顶楼 | |
发表时间:2010-12-13
下载源码后跑起来。经测试能运行,做开发就不用太在意界面了。功能OK就好。
谢谢了~ 如果能定制映射类型完成转换工作就更好。 比如excel中的浮点数,我想通过表达式把它转化成为int型。 |
|
返回顶楼 | |
发表时间:2010-12-13
339751607 写道 怎么用不了啊,兄台 ?
截图见附件 楼上的,这个应该是JRE的配置问题。 因为打包的程序内置了mysql驱动的引用。 我也出现这种情况,你可以下载源码后导入eclipse. 添加jxl和mysql驱动引用。然后运行ui/LogUi即可 |
|
返回顶楼 | |
浏览 17382 次