package com.fhc.bestone;
import java.io.FileOutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
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.HSSFHyperlink;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import com.maodajun.javaeye6.ExcleFile;
public class ExcelWorker {
static Connection conn =new MyConn();
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
ExcleFile e = new ExcleFile();
HSSFWorkbook wb = e.getBook("云南项目数据库设计.xls");
//从表纸中提取信息
List tablelist = new ArrayList<String>();
HSSFSheet sheet = wb.getSheet("表名页");
for(int i =0 ;sheet.getRow(i)!=null ; i ++){
HSSFCell tmp = sheet.getRow(i)
.getCell((short)1);
String str = tmp.toString();
System.out.println(tmp.getRichStringCellValue().toString());
tablelist.add(str);
//新建样本sheet
HSSFSheet tmpsheet = wb.cloneSheet(wb.getSheetIndex("样本DB"));
//sheet改名
wb.setSheetName(wb.getSheetIndex(tmpsheet), str);
//sheet加连接
HSSFHyperlink link = new HSSFHyperlink(HSSFHyperlink.LINK_DOCUMENT);
link.setAddress("'"+str+"'!A1");
tmp.setHyperlink(link);
//添加英文表名
HSSFSheet clonesheet = wb.getSheet(str);
tmpsheet.getRow(1).getCell(9).setCellValue(new HSSFRichTextString(str));
Statement s = conn.createStatement();
Statement s1 = conn.createStatement();
Statement s2 = conn.createStatement();
//表名的注释
ResultSet rs = s.executeQuery("select * from USER_TAB_COLUMNS WHERE TABLE_NAME='"+str+"'");
//列名
ResultSet rs1 = s1.executeQuery("select COMMENTS from user_tab_comments WHERE TABLE_NAME='"+str+"'");
if(rs1.next()){
String tablecomm= rs1.getString(1);
System.out.println(tablecomm);
sheet.getRow(i)
.getCell((short)4)
.setCellValue(new HSSFRichTextString(tablecomm));
}
int j = 0 ;
while(rs.next()){
String col = rs.getString(2);
//列名的注释
ResultSet rs2 = s2.executeQuery("select comments from user_col_comments WHERE TABLE_NAME='"+str+"'"+" and COLUMN_NAME='"+col+"'");
rs2.next();
String comm =rs2.getString(1);
System.out.println("\t"+col+ "\t "+comm);
rs2.close();
HSSFRow r = clonesheet.getRow(7+j);
HSSFCell c = null;
if(r!=null) c = r.getCell(3);
if(c!=null){
clonesheet.getRow(7+j).getCell(3).setCellValue(new HSSFRichTextString(col));
clonesheet.getRow(7+j).getCell(2).setCellValue(new HSSFRichTextString(comm));
}
j++;
}
rs.close();
s.close();
s2.close();
}
//存储此表
FileOutputStream fileOut = new FileOutputStream("云南项目数据库设计.xls");
wb.write(fileOut);
fileOut.close();
}
}
没有测试没有重构。。。
有没有手快的兄弟帮忙重构一下。?写个测试?
分享到:
相关推荐
SQL数据库字典生成器是一款实用工具,...总的来说,SQL数据库字典生成器是一个实用的工具,可以帮助开发者和DBA更有效地管理和理解数据库结构。通过源码,用户不仅可以自定义功能,还能深入学习数据库管理和编程技术。
SQL数据库字典维护工具是一种高效、实用的数据库管理工具,主要用于协助数据库管理员(DBA)对Sql Server数据库进行结构维护和管理。在这个案例中,我们关注的是“小狗数据库字典维护工具”,由IT小马原创开发。此...
数据库字典生成器是一种工具,它能够自动生成关于数据库结构的详细文档,也称为数据库模型或数据字典。数据字典在信息系统设计和管理中扮演着至关重要的角色,因为它提供了数据库中所有对象(如表、视图、索引、存储...
标题中的“mssql生成导出数据库字典”指的是在Microsoft SQL Server (MSSQL)环境中,使用特定工具或脚本来创建数据库字典的过程。数据库字典是一个详细记录了数据库结构、表、字段、索引、关系和其他元数据的文档。...
在实际工作中,使用泛微E9数据字典时,开发人员可以快速定位所需数据,DBA(数据库管理员)能有效地进行性能调优,而系统管理员则可以根据字典内容配置和管理权限。因此,对于使用泛微E9系统的组织来说,理解和掌握...
生成Oracle数据库字典文档通常涉及查询数据字典视图,如DBA_OBJECTS、DBA_TAB_COLUMNS等,将这些信息整理成易于阅读和参考的格式,如HTML或PDF文档。这样做有助于DBA(数据库管理员)快速定位和理解数据库结构,尤其...
《用友OA数据库字典详解》 在信息技术领域,数据库字典是系统设计与管理中的重要组成部分,尤其在企业级应用如用友OA(Office Automation)系统中,它扮演着核心角色。数据库字典,简单来说,就是关于数据库中所有...
数据库字典生成器是一款强大的工具,它能够帮助IT专业人员高效地管理和理解数据库结构。在数据库设计和维护中,数据字典是至关重要的,它记录了数据库中的所有对象,包括表、视图、索引、存储过程、函数等,以及它们...
对于DBA(数据库管理员)来说,能够快速有效地生成数据库字典是非常必要的。这不仅有助于了解现有数据库结构,还能在进行迁移或维护时提供极大的帮助。而本文档主要探讨的是如何通过编写SQL脚本来实现这一目标,即在...
SQL数据库字典查看工具是一种用于帮助用户便捷地浏览和理解数据库结构的应用程序。数据库字典,也称为数据字典或元数据,包含了关于数据库中所有对象的信息,如表、视图、索引、存储过程、函数等。这些工具通常提供...
### 数据库字典详解 #### 一、概念 数据库字典是Oracle数据库中一个非常重要的组成部分,主要用于存储数据库结构信息。这些信息对于数据库管理员(DBA)来说至关重要,可以帮助他们了解数据库内部的数据组织方式以及...
7. **数据字典的作用**:对于开发人员和DBA来说,数据库字典是调试、优化和扩展系统的关键工具。它可以用来验证SQL查询的正确性,识别性能瓶颈,或者在升级和迁移数据库时作为参考。 通过深入学习《JspRun6.0数据库...
数据库字典是数据库管理系统中的一个重要概念,它是一个包含关于数据库本身信息的系统表集合,用于存储和管理关于数据库模式、对象、权限等元数据。在IT行业中,生成数据库字典通常是为了便于理解数据库结构,进行...
本项目“自动生成数据库字典php版”着重于使用PHP语言来创建这样一个自动化工具,使得数据库的描述、关系和规则能够以结构化的形式呈现,便于开发人员和DBA进行维护和协作。 首先,我们要理解“数据库字典”的概念...
《致远A6数据库字典》是一份专为IT专业人士准备的重要参考资料,它详细记录了A6系统中的数据结构、表关系以及字段信息。在信息化管理日益重要的今天,理解和掌握数据库字典对于优化系统性能、确保数据安全以及进行...
**PDMReader:数据库字典生成利器** 在IT行业中,数据库设计是系统开发的重要环节,而数据字典作为数据库设计的基石,它记录了数据库中各个表、字段、索引等对象的详细信息,对理解和维护数据库至关重要。PDMReader...
Oracle 数据库常用数据字典梳理 Oracle 数据库管理系统中,数据字典是一个核心组件...了解 Oracle 数据库的数据字典字段定义和使用方法是 DBA 的必备知识,可以帮助 DBA 更好地管理数据库,提高数据库性能和可靠性。
在IT行业中,数据库字典是管理和理解数据库结构的关键工具,尤其在数据治理和维护大型数据库系统时至关重要。数据库字典通常包含关于数据库中所有对象(如表、字段、索引等)的信息,以及它们之间的关系和约束。这个...
在这个过程中,Oracle数据库管理员(DBA)需要遵循一系列的最佳实践,以确保升级过程的顺利进行并减少故障的风险。 首先,升级前应仔细阅读Oracle官方发布的版本发展历史,了解不同版本之间的变化和新特性。升级...