需要的包为oracle 驱动包,apache下的poi包
import java.io.*;
import java.sql.*;
import org.apache.poi.hssf.usermodel.*;
public class AppMain {
public AppMain() {
}
public static void main(String[] args) {
try {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet =null;
/**连接ORACLE的数据库,关键在于两个系统级的VIEW:
all_tab_columns 记录着ORACLE所有的字段定义信息.
DBA_COL_COMMENTS 记录着字段的注释信息,*/
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection(
"jdbc:oracle:thin:@192.168.1.111:1521:ncdb", "system", "fty001");
Statement stmt = con.createStatement();
StringBuffer strbuf = new StringBuffer();
strbuf.append("SELECT A.*,B.comments");
strbuf.append(" FROM all_tab_columns A,DBA_COL_COMMENTS B");
strbuf.append(" WHERE A.owner=B.owner");
strbuf.append(" AND A.table_name=B.table_name");
strbuf.append(" AND A.COLUMN_NAME=B.COLUMN_NAME");
//owner是建立表的用户名
strbuf.append(" AND A.owner='SCOTT'");
strbuf.append(" ORDER BY A.TABLE_NAME");
ResultSet rs = stmt.executeQuery(strbuf.toString());
String tb = "";
int k = 0;
while (rs.next()) {
//对每个表生成一个新的sheet,并以表名命名
if (!tb.equals(rs.getString("TABLE_NAME"))) {
sheet = wb.createSheet(rs.getString("TABLE_NAME"));
//设置表头的说明
HSSFRow row = sheet.createRow(0);
setCellGBKValue(row.createCell((short) 0),"字段名");
setCellGBKValue(row.createCell((short) 1),"字段类型");
setCellGBKValue(row.createCell((short) 2),"字段长度");
setCellGBKValue(row.createCell((short) 3),"数字长度");
setCellGBKValue(row.createCell((short) 4),"小数位数");
setCellGBKValue(row.createCell((short) 5),"能否为NULL");
setCellGBKValue(row.createCell((short) 6),"字段说明");
k = 1;
} else {
k++;
}
tb = rs.getString("TABLE_NAME");
HSSFRow row = sheet.createRow(k);
row.createCell((short) 0).setCellValue(rs.getString(
"COLUMN_NAME"));
row.createCell((short) 1).setCellValue(rs.getString("DATA_TYPE"));
row.createCell((short) 2).setCellValue(rs.getString(
"DATA_LENGTH"));
row.createCell((short) 3).setCellValue(rs.getString(
"DATA_PRECISION"));
row.createCell((short) 4).setCellValue(rs.getString(
"DATA_SCALE"));
row.createCell((short) 5).setCellValue(rs.getString("NULLABLE"));
setCellGBKValue(row.createCell((short) 6),rs.getString("COMMENTS"));
}
//把生成的EXCEL文件输出保存
FileOutputStream fileOut = new FileOutputStream("E:\\数据字典.xls");
wb.write(fileOut);
fileOut.close();
rs.close();
stmt.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
这个函数是为了设置一个CELL为中文字符串
*/
private static void setCellGBKValue(HSSFCell cell, String value) {
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
//设置CELL的编码信息
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(value);
}
}
分享到:
相关推荐
oracle导出excel的数据字典sql,根据该sql可以导出数据字典。
Excel读取Oracle数据库中的用户信息、表信息 选择生成:用户名、表名、行数、列数、创建时间、列名、类型、主键、备注信息。 可以自定义生成样式。 测试环境:excel2013 启用vba宏,在Oracle配置的sheet中输入SID、...
执行test代码,可将oracle用户下数据库所有表及相关注释保存到excel,形成数据模型字典。
excel 生成oracle ddl , 工作中一般会出现这种情况,和其他单位合作开发项目时,对方会给我们一份他们的数据字典,excl或者world的,这种情况下我们要根据数据字典将表结构建好,但是一个字段一个字段的去复制粘贴会...
PdmReader是浏览速查pdm(*.pdm)文件的免费工具软件,无需注册,与SyBase公司的PowerDesigner产品相比的优势是:使用PdmReader进行数据字典管理,它可以以最快的速度找到您要查到的数据字典信息,大大提高日常工作效率。...
假如您所在公司在数据库开发中不使用SyBase公司的PowerDesigner产品,那么PdmReader则可以从您的数据库中逆向获取表结构信息,为您制作数据字典。 <br> PdmReader还可以作为实用的ado客户端工具进行使用...
假如您所在公司在数据库开发中不使用SyBase公司的PowerDesigner产品,那么PdmReader则可以从您的数据库中逆向获取表结构信息,为您制作数据字典。 <br> PdmReader还可以作为实用的ado客户端工具进行使用...
(10)方便操作常用数据字典如表、视图、索引、过程、函数、触发器等(能查看和编辑编译PL/SQL代码); (11)中英文双语界面并能随时切换,个性化界面设置,界面简洁清爽; (12)运行语句“DESC tableName”清晰...
代码生成器,支持sqlservice,mysql,oracle, 有数据字典功能,可以导出excel。
支持从Excel导入导出的双向编辑操作。 7、对开发语言的支持。开放的数据库物理结构文件格式、并提供外部调用源程序, 包含C#、Delphi、JAVA三个版本。 8、数据库物理结构定义和实体数据库之间的比对更新、同步。 9、...
(4) 超方便实用的工作表用来显示和操作SELECT语句的查询结果,象操作Excel表格一样方便地选择行/列/单元格数据,可以将工作表的数据修改写入数据库表。另外,工作表还有单条记录操作、多功能拷贝、数值统计、查找...
生成各种文档,如表的数据字典,导出为word文档,excel表格,txt代码文件,所有的过程,视图,触发器,同义词等. <br/> 8.查看进程,锁表情况,断开进程,死锁会话.跟踪进程的执行语句. <br/> 9.显示所有系统参数的值,...
查询Oracle数字典,可将数据导出至excel
支持从Excel导入导出的双向编辑操作。 7、对开发语言的支持。开放的数据库物理结构文件格式、并提供外部调用源程序, 包含C#、Delphi、JAVA三个版本。 8、数据库物理结构定义和实体数据库之间的比对更新、...
支持从Excel导入导出的双向编辑操作。 7、对开发语言的支持。开放的数据库物理结构文件格式、并提供外部调用源程序,包含C#、Delphi、JAVA三个版本。 8、数据库物理结构定义和实体数据库之间的比对更新、同步...
支持从Excel导入导出的双向编辑操作。 7、对开发语言的支持。开放的数据库物理结构文件格式、并提供外部调用源程序, 包含C#、Delphi、JAVA三个版本。 8、数据库物理结构定义和实体数据库之间的比对更新、...
4. 生成表的数据字典信息,并输出为Excel 文件、Html文件 这是本软件的核心价值之二 5. 生成数据库对象的DDL,并可重建数据库对象,并可导出到SQL脚本文件 这是本软件的核心价值之三 6. 功能强大的SQL语句...
4. 生成表的数据字典信息,并输出为Excel 文件、Html文件 这是本软件的核心价值之二 5. 生成数据库对象的DDL,并可重建数据库对象,并可导出到SQL脚本文件 这是本软件的核心价值之三 6. 多语言版本,目前有...