如何用j**a将**库中的表导出到excel

时间:2021.11.06 发布人:shz1503

如何用j**a将**库中的表导出到excel

已解决问题

谷歌shz1503用户在2021.11.06提交了关于“逆转命运的1年如何用j**a将**库中的表导出到excel”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-12-13T12:02:07。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,希望你能感受到,我最真诚的谢意 !

希望以下的回答,能够帮助你。

第1个回答

用户名:匿名用户  


第一步:如何用POI操作Excel

@Test

publicvoidcreateXls()throwsException{

//声明一个工作薄

h**SSFWorkbookwb=newh**SSFWorkbook();

//声明表

h**SSFSheetsheet=wb.createSheet("第一个表");

//声明行

h**SSFRowrow=sheet.createRow(7);

//声明列

h**SSFCellcel=row.createCell(3);

//写入**

cel.setCellValue("你也好");

FileOutputStreamfileOut=newFileOutputStream("d:/a/b.xls");

wb.write(fileOut);

fileOut.close();

}

第二步:导出指定**库的所有表

分析:

1:某个数**库有多少表,表名是什么――DataBaseMetadate.getMetadate().getTables(**ll,**ll,**ll,newString[]{Table});-excel的文件名称。

2:对每一个表进行select*操作。-每一个sheet的名称。

3:分析表结构,rs.getMetadate();ResultSetMedated

4:多个列,列名是什么.-字段名就是sheet的第一行信息。

5:获取每一行的**–放到sheet第一行以后。

@Test

publicvoidexport()throwsException{

//声明需要导出的**库

StringdbName="focus";

//声明book

h**SSFWorkbookbook=newh**SSFWorkbook();

//获取Connection,获取db的元**

Connectioncon=DataSourceUtils.getConn();

//声明statemen

Statementst=con.createStatement();

//st.execute("use"+dbName);

DatabaseMetaDatadmd=con.getMetaData();

//获取**库有多少表

ResultSetrs=dmd.getTables(dbName,dbName,**ll,newString[]{"TABLE"});

//获取所有表名-就是一个sheet

Listtables=newArrayList();

while(***.next()){

StringtableName=rs.getString("TABLE_NAME");

tables.add(tableName);

}

for(StringtableName:tables){

h**SSFSheetsheet=book.createSheet(tableName);

//声明sql

Stringsql="select*from"+dbName+"."+tableName;

//查询**

rs=st.executeQuery(sql);

//根据查询的结果,分析结果集的元**

ResultSetMetaDatar**d=rs.getMetaData();

//获取这个查询有多少行

intcols=r**d.getColumnCount();

//获取所有列名

//创建第一行

h**SSFRowrow=sheet.createRow(0);

for(inti=0;i