`
webcode
  • 浏览: 5939681 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

偷懒工具设计之sql2Excel

 
阅读更多

偷懒工具设计之sql2Excel

今天在公司陪山东客户调试,远程登录,我在linux下什么工具都没有,用ssh登录服务器,直接用mysql查询数据库,提出记录中的所有汉字全是乱码。哎,可恶的公司,不让我用windows,要不我就可以用putty或者EMS了,我ft!
甚是不爽之下,我决定自己写个工具了,把客户数据库中的数据全部提取并保存到Excel中,这样我不就可以一目了然了嘛,嘿嘿,好吧,那我就写一个工具吧。

第一部分就是谁都会的jdbc操作,连接数据库,提取数据集合。
Connectioncon;
Statementstate;
/***//**初始化连接
*
@paramserverIp
*
@paramdataBase
*
@paramuserName
*
@parampassword
*
@throwsClassNotFoundException
*
@throwsSQLException
*/

publicvoidinit(StringserverIp,StringdataBase,StringuserName,Stringpassword)throwsClassNotFoundException,SQLException...{
Class.forName(
"com.mysql.jdbc.Driver");
//配置数据源
Stringurl="jdbc:mysql://"+serverIp+"/"+dataBase+"?useUnicode=true&characterEncoding=GB2312";
con
=DriverManager.getConnection(url,userName,password);
}

/***//**得到查询结果集
*
@paramsql
*
@return
*
@throwsSQLException
*/

publicResultSetgetResultSet(Stringsql)throwsSQLException...{
state
=con.createStatement();
ResultSetres
=state.executeQuery(sql);
returnres;
}

/***//**关闭连接
*
@throwsSQLException
*/

publicvoidclose()throwsSQLException...{
if(con!=null)
con.close();
if(state!=null)
state.close();
}

第二部分就是把ResultSet中的记录写入一个Excel文件
操作Excel,我用的是jxl,不熟的同学可以参考:利用java操作Excel文件
/***//**将查询结果写入Excel文件中
*
@paramrs
*
@paramfile
*
@throwsSQLException
*/

publicvoidwriteExcel(ResultSetrs,Filefile)throwsSQLException...{
WritableWorkbookwwb
=null;
try...{
//首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象
wwb=Workbook.createWorkbook(file);
}
catch(IOExceptione)...{
e.printStackTrace();
}

if(wwb!=null)...{
WritableSheetws
=wwb.createSheet("sheet1",0);
inti=0;
while(rs.next())...{
Labellabel1
=newLabel(0,i,rs.getString("id"));
Labellabel2
=newLabel(1,i,rs.getString("category"));
try...{
ws.addCell(label1);
ws.addCell(label2);
}
catch(RowsExceededExceptione)...{
e.printStackTrace();
}
catch(WriteExceptione)...{
e.printStackTrace();
}

i
++;
}


try...{
//从内存中写入文件中
wwb.write();
//关闭资源,释放内存
wwb.close();
}
catch(IOExceptione)...{
e.printStackTrace();
}
catch(WriteExceptione)...{
e.printStackTrace();
}

}

}

测试程序:
Sql2Excelse=newSql2Excel();
try...{
se.init(
"127.0.0.1","mydabase","root","1234");
ResultSetrs
=se.getResultSet("selectid,categoryfromxx");
se.writeExcel(rs,
newFile("/root/sql2excel.xls"));
se.close();
}
catch(ClassNotFoundExceptione)...{
e.printStackTrace();
}
catch(SQLExceptione)...{
e.printStackTrace();
}


呵呵,比较简单吧,不过还是很有用的,其实那些数据库查询工具EMS,Mysql Query Browser之类的和这个差不多,掌握了原理,我们也可以自己开发查询工具,备份工具。
分享到:
评论

相关推荐

    “偷懒”的技术:打造财务Excel达人 pdf

    “偷懒”的技术:打造财务Excel达人 pdf

    《偷懒的技术:打造财务Excel达人》示例文档.rar

    打造财务Excel达人示例文档,主要为其中的EXCEL使用技巧方面的示例

    偷懒的技术:打造财务Excel达人》示例文档.rar

    打造财务Excel达人示例文档,主要为其中的EXCEL使用技巧方面的示例

    Excel2DB-Excel导入数据共通程序

    项目之余,发现很多项目都需要Excel导入导出的功能,每次重复代码的Coding以令我忍无可忍, 终于在一个"寂寞难耐"的周末,完成了一个Excel导入数据库(支持Sql Server 2000,2005; Access,Oracle未测试)的共通程序(可配置...

    Excel导出SQL SlobII懒汉2

    将电子表格的数据导出插入数据的INSERT语句,自己用C#写的。感觉挺方便的,共享给大家你应该用得着,欢迎提出意见和建议。里面附加了一个帮助,操作不难。 【爱偷懒的程序员专用】

    mysql数据库转换成SQLserver数据库

    mysql数据库与SQLserver数据库之间的转换工具,做练习题时可以根据数据数据结构一样但是,数据库不一样,偷懒工具

    SQLPrompt V7.2数据库代码提示插件

    SQLPrompt V7.2 Sql代码提示工具, 数据库是大家在项目开发中肯定会用到的,C#项目用的最多的就是微软自家的SQL Server了。不可否认,微软的Visual Studio开发平台很好用,很直观的体现就是智能提示。敲几个字符,...

    SQL SERVER版代码生成工具(2004版)

    本版本是04年当时开发项目时,为了节省工作量,开发的一个辅助工具...之所以添加了单一模式的是因为一些小心活动项目,就直接用这个代码来偷懒了。 其它的没什么特别说明的了,使用中遇到问题,可以随时和我联系。。。

    Excel导出SQL SlobII懒汉2 [改进了下现在支持office 2007]

    将电子表格的数据导出插入数据的INSERT语句,自己用C#写的。感觉挺方便的,共享给大家你应该用得着,欢迎提出意见和建议。里面附加了一个帮助,操作不难。【爱偷懒的程序员专用】

    图书管理系统ASP+SQLServer2000-适合课程设计

    图书管理系统,ASP+SQLServer2000 自己做的,做得很简单,适合要求不高的人。 这是数据库课程设计时做的 适合课程设计偷懒的人。 如果毕业设计的话,有点太简单了,不过可以在这基础上新增。

    ExcelToHtmlTable转换算法:将Excel转换成Html表格并展示(项目源码+详细注释+项目截图)

    Excel2HtmlTable的主要功能就是把Excel的内容以表格的方式,展现在页面中。 Excel的多个Sheet对应页面的多个Tab选项卡。 转换算法的难点在于,如何处理行列合并,将Excel的行列合并模型转换成Html表格的行列合并模型...

    课程设计基于Java实现的校园快递代拿系统源码+sql数据库+项目详细说明.zip

    课程设计基于Java实现的校园快递代拿系统源码+sql数据库+项目详细说明.zip 1、该资源内项目代码都是经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、...

    试用EXCEL电子财务技术

    全面方便初出茅庐人员学习EXCEL电子表格制作与学习用商用环境的介绍与参考。

    数据库表结构管理工具 v1.0.rar

    附赠Database.asp程序 该程序是我以前做的一个只适合ASP数据库操作的自动生成代码的偷懒工具 http://***/TableList.asp 通过该页面演示添加 修改 删除 程序免费开源 任意使用 修改请注明原作者 数据库表结构管理...

    你早该这么玩Excel

    《你早该这么玩Excel》内容简介:你是个表格“菜鸟”,对着一堆函数和技巧犯 晕,觉得此生成为Excel高手无望?你是个“表”哥或“表”姐,自认阅“表”无数,而且早已审“表”疲劳?你是公司的Boss,经常拿着报表做...

    偷懒道具,分页工具

    不跳转页面分页工具,依赖于jQuery,默认样式依赖于bootstrap3.0,通过最大行数和显示 行数计算出分页总数,通过设置的样式结构决定前台展示出现的样式,目前存在两种展出模式,可通过定义扩展方式,增加展出样式。

    窗口置顶快捷隐藏小工具(偷懒神器)

    窗口置顶快捷隐藏小工具(偷懒神器),把视频或网页缩小后放到桌面一角,ctrl + Q 隐藏,Ctrl + E 显示,上班看片小工具

    你早该这么玩Excel 伍昊.

    *你是个表格“菜鸟”,对着一堆函数和技巧犯晕,觉得此生成为Excel高手无望? *你是个“表”哥或“表”姐,自认阅“表”无数,而且早已审“表”疲劳? *你是公司的Boss,经常拿着报表做决策,却没有发现表中有个...

    用Excel做的五子棋

    以前在办公室偷懒时写的一个二人对战用的五子棋程序。用excel写的。用VBA实现的。

    你早就该这么玩Excel.pdf

    《你早该这么玩Excel》内容简介:你是个表格“菜鸟”,对着一堆函数和技巧犯晕,觉得此生成为Excel高手无望?你是个“表”哥或“表”姐,自认阅“表”无数,而且早已审“表”疲劳?你是公司的Boss,经常拿着报表做...

Global site tag (gtag.js) - Google Analytics