从Excel电子表格生成外部表
文章作者 100test 发表时间 2007:03:14 13:49:28
来源 100Test.Com百考试题网
假定:您从经理那里收到一封附带 Excel 电子表格的电子邮件。您的任务是什么?将电子表格中的数据载入到公司的 Oracle 9i/10g 数据库中。您将会如何进行?你要编写一个自定义的应用程序来装载数据吗?你要使用 SQL*Loader 实用程序吗?同时还要考虑到 — 该电子表格包含几个数据工作表。首先您必须以利用分隔符来保存每个工作表。事情比乍看上去时愈加复杂了……
DBA 和应用程序开发人员经常要将数据从 Excel 电子表格装载到 Oracle 数据库中。随着 Oracle 10g 引入了一些类似电子表格的功能,更多当前在电子表格中存储和查看的数据很可能会装载到 Oracle 数据库中进行操作和处理。
Oracle 提供了多种将数据从电子表格装载到数据库中的方法。大多数 Oracle DBA 和开发人员熟悉 SQL*Loader 的功能。Oracle HTML DB 也可用于以批处理方式装载 Excel 数据。本文提供另一种从 Excel 电子表格装载数据的方法,它利用了开放源代码技术和外部表。
在本文中,您将了解如何使用 Apache Jakarta POI 开放源代码项目来创建外部表,这些外部表可以引用带多个数据工作表的 Excel 电子表格中的数据。在这一过程中,您将要创建一个名为 ExternalTableGenerator 的自定义实用程序,以达到该目的。
如果给定一个包含一个或多个数据工作表的 Excel 电子表格,则 ExternalTableGenerator 实用程序可以生成纯文本数据文件和一个 DDL 脚本,用户可以运行它,可以在外部表中查看这些数据。此项目还有助于向那些刚接触该特性的人阐明外部表的概念。
本文包含 ExternalTableGenerator 的源代码(可以用作独立的应用程序或者作为更复杂和更强健的解决方案的基础),还包含一个用于测试该过程的示例电子表格。
Jakarta POI
Jakarta POI 文件系统 API 使用纯 语言实现 OLE2 复合文档格式,而 HSSF API 允许使用 Java POI 进行 Excel 文件的读写操作,这些操作包含示例代码文件中,并在您运行 ExternalTableGenerator 时在 Java CLASSPATH 中对它们进行引用。
ExternalTableGenerator ExternalTableGenerator 使用了三个类,这些类利用 POI API 来处理电子表格。