<span style="font-size:14px;">package com.jdbc.c3p0;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
/**
* java导出数据库中的表内容
* @author pwl
*
*/
public class ImportExcelUseC3p0 {
public void importForExcel() throws SQLException{
HSSFWorkbook wb=new HSSFWorkbook();
// 数据库名称
String dbName="studentmanger";
//得到连接对象
Connection con=DataSourceUtil.getConn();
//创建StateMent
Statement st=null;
//得到数据库分析
DatabaseMetaData dm=con.getMetaData();
//得到数据库有多少表
ResultSet rs=dm.getTables(dbName, dbName, null, new String[]{"TABLE"});
List<String> tableNames=new ArrayList<String>();
while(rs.next()){
// 获得每张表的表名
String tableName=rs.getString("TABLE_NAME");
tableNames.add(tableName);
}
for(String tableName:tableNames){
//创建每一张表
HSSFSheet sheet=wb.createSheet(tableName);
//写入数据
String sql="select * from "+tableName;
//执行查询语句
st=con.createStatement();
rs=st.executeQuery(sql);
//得到结果集句柄
ResultSetMetaData rsmd=rs.getMetaData();
//得到当前表的列数
int cols=rsmd.getColumnCount();
//创建第一行
HSSFRow row=sheet.createRow(0);
//遍历每一列
for(int i=0;i<cols;i++){
String colunmName=rsmd.getColumnName(i+1);
HSSFCell cell=row.createCell(i);
//写入列名
cell.setCellValue(colunmName);
}
//遍历数据
int index=1;
while(rs.next()){
row=sheet.createRow(index++);
for(int i=0;i<cols;i++){
//得到每一列的值
String value=rs.getString(i+1);
//创建每一列
HSSFCell cell=row.createCell(i);
cell.setCellValue(value);
}
}
}
// 保存excel
try {
wb.write(new FileOutputStream("f:/"+dbName+".xls"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
</span>
java POI导出数据库的表内容
最新推荐文章于 2023-02-21 15:03:26 发布