首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Oracle频道
中国IT教育
Google
首页 入门基础 安装配置 体系架构 PLSQL 备份恢复 性能调优 开发技术 资讯动态 考试认证 下载 专题 讨论
您现在的位置: 中国IT实验室 >> Oracle >> 开发技术 >> 正文

从Excel电子表格生成外部表

 

运行该项目

    该项目在 Java 运行时环境 (JRE) 1.4.2_03 中完成了测试,但是它应该可以在任何能够运行 POI 的 JRE 中运行。您可以通过执行 runSample.bat 来运行 ExternalTableGenerator。这个批处理文件使用了在参数中所指定的 Excel 工作表,将相关的 jar 包含在类路径中 (XL2ExternalTables.jar;jakarta-poi-1.5.1-final-20020615.jar;jakarta-poi-contrib-1.5.1-final-20020615.jar) 并运行适当的 Java 类 com.saternos.database.utilities.ExternalTableGenerator。

示例成功运行后所得到的输出应该类似于以下内容(其路径基于您的工作目录)。

C:\Documents and Settings\Administrator\Desktop\XL2ETB>runExample
C:\Documents and Settings\Administrator\Desktop\XL2ETB>
java -cp XL2ExternalTables.jar;jakarta-poi-1.5.1-final-20020615.jar;
jakarta-poi-contrib-1.5.1-final-20020
615.jar com.saternos.database.utilities.ExternalTableGenerator new_department_data.xls
Begin processing.
Using working directory C:\Documents and Settings\Administrator\Desktop\XL2ETB
...File PA_Zip_Code_Locations.csv created.
...Table PA_Zip_Code_Locations processed.
...File New_Departments.csv created.
...Table New_Departments processed.
...File New_Employees.csv created.
...Table New_Employees processed.
...File ExternalTables.sql created.
Processing complete.

   这些代码创建了三个数据文件(指定使用 .csv 扩展名)并生成一个的 SQL 脚本,该脚本包含用于创建外部表的 DDL。

   以下是运行该 DDL 脚本并测试所得结果的一个示例。通过 SQL*Plus 从创建 ExternalTables.sql 脚本的目录连接到数据库,开始进行工作。

C:\XL2ETB>SQL*Plus testuser/mypassword@orcladm
SQL*Plus:Release 10.1.0.2.0 - Production on Tue Dec 21 09:36:25 2004
Copyright (c) 1982, 2004, Oracle.All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
SQL> select * from tab;
no rows selected

   虽然本示例是一个空的模式,但是如果用户拥有适当的权限,并且没有名称冲突,则该脚本可以在任何模式中运行。

SQL> @ExternalTables
Directory created.
Table created.
Table created.
Table created.
该脚本被执行,并且创建了目录对象和三个外部表。
SQL> select * from tab;
TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
NEW_DEPARTMENTS                TABLE
NEW_EMPLOYEES                  TABLE
PA_ZIP_CODE_LOCATIONS          TABLE
SQL> select count(*) from new_departments;
COUNT(*)
----------
         2
SQL> select count(*) from new_employees;
COUNT(*)
----------
        14
SQL> select count(*) from pa_zip_code_locations;

COUNT(*)
----------
      1458
SQL> select * from new_employees;


EMPNO  ENAME      JOB              MGR     HIREDATE       SAL       COMM      DEPTNO
------ ---------- --------- ---------- ------------  -------- ----------  ----------
9499   ALDEN      SALESMAN        9698      33289.0      3200       1300	      50
	
9521   WORD       SALESMAN        9698      33291.0      2500       1000	      50
	        
9654   MALTIN     SALESMAN        9698      33509.0      2500       4400	      50
	        
EMPNO  ENAME      JOB              MGR     HIREDATE       SAL       COMM	  DEPTNO
------ ---------- --------- ---------- -------------  -------- ---------- ----------
9844   TURKER     SALESMAN        9698      33489.0      3000          0	      50


SQL>

结论

本文介绍了 POI,但只是浅显地讨论了通过该 API 可以使用的功能。有多种方法可以增强本文中所描述的 ExternalTableGenerator 实用程序的功能:

  • 在该实用程序中可以建立一个 JDBC 连接,使外部表 DDL 能够在该实用程序内部执行。
  • 可以添加基于电子表格类型的其他列类型和精度。
  • 该实用程序可以添加功能以便操作外部表的其他属性(PARALLEL 等)。
  • 可以设计出将电子表格类型转换为 Oracle 数据类型的其他方法。

本文有可能使您更希望探索通过协同使用 POI 和 Oracle 来促进在 Excel 与 Oracle 之间进行数据操作的可能性。

上一页  [1] [2] [3] 

【责编:Peng】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 ·Java入门 Tomcat的配置技巧精华专题…
 ·Oracle RMAN物理备份技术详解…
 今日更新
 社区讨论
 博客论点
 频道精选
 Oracle频道相关导航