电子表格wb是什么格式

电子表格wb是什么格式,第1张

您的任务是什么?将电子表格中的数据载入到公司的 Oracle 9i/10g 数据库中。您将会如何进行?你要编写一个自定义的应用程序来装载数据吗?你要使用 SQLLoader 实用程序吗?同时还要考虑到 ― 该电子表格包含几个数据工作表。首先您必须以利用分隔符来保存每个工作表。事情比乍看上去时愈加复杂了……DBA 和应用程序开发人员经常要将数据从 Excel 电子表格装载到 Oracle 数据库中。随着 Oracle 10g 引入了一些类似电子表格的功能,更多当前在电子表格中存储和查看的数据很可能会装载到 Oracle 数据库中进行操作和处理。Oracle 提供了多种将数据从电子表格装载到数据库中的方法。大多数 Oracle DBA 和开发人员熟悉 SQLLoader 的功能。Oracle HTML DB 也可用于以批处理方式装载 Excel 数据。本文提供另一种从 Excel 电子表格装载数据的方法,它利用了开放源代码技术和外部表。如果给定一个包含一个或多个数据工作表的 Excel 电子表格,则 ExternalTableGenerator 实用程序可以生成纯文本数据文件和一个 DDL 脚本,用户可以运行它,可以在外部表中查看这些数据。此项目还有助于向那些刚接触该特性的人阐明外部表的概念。本文包含 ExternalTableGenerator 的源代码(可以用作独立的应用程序或者作为更复杂和更强健的解决方案的基础),还包含一个用于测试该过程的示例电子表格。Jakarta POIJakarta POI 文件系统 API 使用纯 Java 语言实现 OLE2 复合文档格式,而 HSSF API 允许使用 Java POI 进行 Excel 文件的读写操作,这些操作包含示例代码文件中,并在您运行 ExternalTableGenerator 时在 Java CLASSPATH 中对它们进行引用。ExternalTableGenerator ExternalTableGenerator 使用了三个类,这些类利用 POI API 来处理电子表格。�0�2�0�2 ExternalTablejava ― 该类表示外部表。ExternalTable 对象拥有名称,引用文件系统中的目录和文件,并拥有很多相应类型的列。该类还拥有属性,这些属性描述了错误文件名、日志文件名、目录位置以及用于各种文件名扩展的常量。该类由这些属性值填充,然后用于生成外部表使用的 DDL,该外部表对应于电子表格中给定工作表的结构。�0�2�0�2 �0�2构造器使用一个参数以获取表名称(名称中的所有空格都被替换为下划线)。ExternalTableGenerator 类使用特定工作表的名称来设置该类中的 name 属性。该 name 用于表名以及错误文件和日志文件。当 ExternalTable 类的所有列和其他属性都完成填充后(基于电子表格中的前两行),可以调用 getDdl(),返回用于创建外部表的 DDL。 DDL 的结构在本文的“DDL 脚本”一节中予以说明。�0�2�0�2 ExternalTableColumnjava ― 该类表示外部表的一列。其属性包括列名及其类型。就当前的应用程序来看,该类型被限制为 VARCHAR2 或 NUMBER,而且使用 POI 为这些类型所提供的常量。VARCHAR2 长度由工作表中第二行的值所确定。在由 ExternalTableGenerator 类调用时,列名由工作表中的第一行所确定。该类将列中的任何空格替换为下划线,以确保 DDL 有效。�0�2�0�2 ExternalTableGeneratorjava ― 该类执行实际操作。它将读取以参数形式传递给它的电子表格。对于电子表格中的每个工作表,它在当前目录中生成一个以逗号对值进行分隔的文件(扩展名为 csv)。它还创建出用于创建目录和外部表的 DDL。处理过程必要的 POI 专用调用有以下:在execute() 方法中,以下的两行代码用于从文件系统中访问电子表格,并创建一个新的工作单对象,该对象允许您操作电子表格。POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(spreadsheet));HSSFWorkbook wb = new HSSFWorkbook(fs);访问HSSFWorkbook 对象时,您可以通过迭代所有的工作表、行和列来处理该对象。processWorkbook() 方法迭代工作单中的每个工作表,使用工作表名来创建 ExternalTable 对象,处理每个工作表,并提取相关数据来填充 ExternalTable 对象。private void processWorkbook(HSSFWorkbook wb) {for (int i = 0; i < wbgetNumberOfSheets(); i �0�2)�0�2{HSSFSheet sheet = wbgetSheetAt(i);ExternalTable table = new ExternalTable(wbgetSheetName(i));processSheet(sheet, table);Systemoutprintln("Table " �0�2tablegetName() �0�2" processed" );�0�2}}processSheet() 方法从工作表中获取该表信息,写入一个 csv 文件(它将是 ExternalTable 引用的实际数据),并连续追加到含有 DDL 内容的字符串中。getColumns() 方法包含对 POI API 的相关调用,用于检索特定单元的数据。根据被访问单元的类型,需要不同的方法调用。请注意,在处理我们示例中的数据时,必须考虑那些没有数据的单元 (SSFCellCELL_TYPE_BLANK)。要将数据写入某个工作表,writeCsv() 需要迭代相关的行和列,并创建一个字符串,其中包含逗号分隔的数据。它不写出列名或者含有表示 VARCHAR2 大小的数据的行。write() 方法包含了将数据写入文件系统的文件中的代码。

提到字母,我们总是会想到它带有的含义,如果在车牌号码当中带有字母的话,我们就会考虑字母作为首字母带有的含义是什么。如果选到一些比较尴尬的字母,会让我们的处境变得很不好,那么车牌号WB是什么含义呢?

车牌WB的含义

首先字母可以代表位置,wb是安徽省芜湖市车牌。车牌第一位是汉字,代表该车户口所在的省级行政区。车牌第二位是英文字母,代表该车户口所在的地级行政区。W应该是皖的汉语拼音第一个字母,b代表B,因此wb字母的车牌是归属于安徽省芜湖市。

车牌号字母含义

车牌上面出现的汉字代表该车户口所在地省级行政区,为各省、直辖市、自治区的简称,如北京(京)、上海(沪)、湖南(湘)、重庆(渝)、山东(鲁)、江西(赣)、福建(闽)等。车牌上第二位是英文字母代表该车户口所在的地级行政区,为各地级市、地区、自治州、盟字母代码,一般按省级车管所以各地级行政区状况分划排名,字母“A”为省会、首府或直辖市中心城区的代码,并且是不分先后顺序的。

吉利车牌号推荐

我们总是希望自己的车牌号是大吉大利的,例如6,8等。选择车牌号码时,除了根据自己的出生时间选择合适的数字之外,还要注意车牌号数字相加之和最好为九九八十一数理中的吉数,如15、16、17、18、21、24、25、31、32、35、37、41、45等。在中国是比较忌讳4和13的因为谐音。总而言之,多方面考虑车牌号码的好坏总归是没有坏处的。同时应该在力作能及的范围内为自己选一个最好的车牌号,这样才能够给自己一个光明的未来。

测一测你的2023兔年运势和未来十年大运是好是坏?不知道如何挑选一个好日子?TA是你这一生对的人吗?2023年你会发大财吗?全方位解读你的事业天赋,扭转困局!点击在线咨询:http://wwwadxqdcom/xz/

'WbSheets(G)UsedRangeCopy Cells(Range("B65536")End(xlUp)Row + 1, 1)

'是不是应该改成这样

WbSheets(G)UsedRangeCells(Range("B65536")End(xlUp)Row + 1, 1)Copy

Private Sub Workbook_Open()

Dim MyPath As String, MyName As String, AWbName As String

Dim Wb As Workbook, WbN As String

Dim G As Long

Dim Num As Long, ini As Long

ApplicationScreenUpdating = False

MyPath = ActiveWorkbookPath

MyName = Dir(MyPath & "\" & "xls")

AWbName = ActiveWorkbookName

Num = 0

ini = 0

Do While MyName <> ""

If MyName <> AWbName Then

    Set Wb = WorkbooksOpen(MyPath & "\" & MyName)

    Num = Num + 1

    If ini = 0 Then

        WbSheets(1)Range("A1")Resize(, WbSheets(1)UsedRangeColumnsCount)Copy Workbooks(1)Sheets(1)Cells(1, 1)

        WbSheets(2)Range("A1")Resize(, WbSheets(2)UsedRangeColumnsCount)Copy Workbooks(1)Sheets(2)Cells(1, 1)

        ini = 1

    End If

        WbSheets(1)UsedRangeOffset(1)Copy Workbooks(1)Sheets(1)Range("A65536")End(xlUp)Offset(1)

        WbSheets(2)UsedRangeOffset(1)Copy Workbooks(1)Sheets(2)Range("A65536")End(xlUp)Offset(1)

        WbN = WbN & Chr(13) & WbName

    WbClose False

End If

MyName = Dir

Loop

Range("A1")Select

ApplicationScreenUpdating = True

End Sub

欢迎分享,转载请注明来源:表白网

原文地址:https://h5.hunlipic.com/biaobai/4168962.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2024-04-20
下一篇2024-04-20

发表评论

登录后才能评论

评论列表(0条)

    保存