作者:cg1 摘自:access911.net
问题:
我是否可以将excel数据导入
回答:
手动方式:
请查看 access 帮助:
帮助 - > 导入或链接数据和对象
如果手动
来自电子表格
导入或链接电子表格中的数据
在继续处理之前,要确保电子表格中的数据必须以适当的表格形式排列,并且电子表格每一字段(列)中都具有相同的数据类型、每一行中也都具有相同的字段。
打开数据库,或切换到打开数据库的“数据库”窗口。
执行下列操作之一:
若要导入电子表格,请在“文件”菜单上,指向“获取外部数据”,然后单击“导入”。
若要链接电子表格,请在“文件”菜单上,指向“获取外部数据”,然后单击“链接表”。
在“导入”(或“链接”)对话框中,选择“文件类型”框中的 “microsoft excel (*.xls)”。
单击“查找范围”框右侧的箭头,选定电子表格文件所在的驱动器和文件夹,然后双击其图标。
按照“导入数据表向导”对话框的提示进行操作。如果是从 microsoft excel 5.0 版或更高版本的工作簿中导入,则可以导入工作薄内的某个工作表。但不能从其他的多电子表格(例如 microsoft excel 4.0 版工作簿)文件中导入。若要导入这些文件,首先必须将每个工作表保存为一个单独的文件。
注意
可以导入或链接电子表格中的全部数据,或者只是来自指定范围单元格中的数据。尽管用户通常是在 microsoft access 中新建一个表来导入或链接,但只要电子表格列标题与表字段名相匹配,就同样可以在已有表上追加数据。
access 将试图对导入的字段赋予合适的数据类型,但是应该检查字段,确认它们是否设置为所希望的数据类型。例如在 access 数据库中,电话号码或邮政编码字段可能以数字字段导入,但在 microsoft access 中应该改为文本字段,因为这些类型的字段进行的任何计算都不是所希望的。必要时还应检查和设置字段属性(如设置格式)。
请注意,上面文章中其实仍然包含了两种做法和一种扩展做法:
1、直接用导入
2、用链接表
3、当你只是要导入excel数据到现有的表中时,可以先链接某个xls文件,然后直接用 jet sql语句来做:
insert into [access表名] (field1,field2) select field1,field2 from [xls链接表]
编程方式:
请使用 transferspreadsheet 方法
示例
下面的示例在 lotus 电子表格 newemps.wk3 的指定范围内将表导入到 microsoft access 的“employees”表,并用电子表格中的第一行作为字段名。
docmd.transferspreadsheet acimport, 3, _
"employees","c:\lotus\newemps.wk3", true, "a1:g12"
在 visual basic 中,transferspreadsheet 方法执行 transferspreadsheet 操作。
expression.transferspreadsheet(transfertype, spreadsheettype, tablename, filename, hasfieldnames, range, useoa)
expression 必需。返回“applies to”列表中的一个对象的表达式。
transfertype 可选 acdatatransfertype。
acdatatransfertype 可以是下列 acdatatransfertype 常量之一:
acexport
acimport 默认
aclink
如果将该参数留空,将采用默认常量 (acimport)。
spreadsheettype 可选 acspreadsheettype。
acspreadsheettype 可以是这些 acspreadsheettype 常量之一:
acspreadsheettypeexcel3
acspreadsheettypeexcel4
acspreadsheettypeexcel5
acspreadsheettypeexcel7
acspreadsheettypeexcel8 默认
acspreadsheettypeexcel9 默认
acspreadsheettypelotuswj2 - 仅适用于日文版
acspreadsheettypelotuswk1
acspreadsheettypelotuswk3
acspreadsheettypelotuswk4
注意 可以链接 lotus 1-2-3 电子表格文件中的数据,但是这些数据在 microsoft access 中是只读的。可以导入自和链接到 lotus .wk4 文件,但是不能将 microsoft access 数据导出为这种电子表格格式。microsoft access 也不再支持使用该方法对 lotus .wks 或 microsoft excel 2.0 版电子表格数据的导入、导出或链接。
如果将该参数留空,将采用默认常量 (acspreadsheettypeexcel8)。
tablename 可选 variant 型。字符串表达式,表示要向其中导入电子表格数据、从中导出电子表格数据或链接电子表格数据的 microsoft access 表的名称,或要将其结果导出到电子表格的 microsoft access 选择查询的名称。
filename 可选 variant 型。字符串表达式,表示要从其中导入、导出到或链接到的电子表格的名称与路径。
hasfieldnames 可选 variant 型。使用 true (-1) 可以在导入或链接时,将电子表格中的第一行用作字段名。使用 false (0) 可以将数据表第一行看成普通数据。如果将该参数留空,则采用默认值 (false)。在将 microsoft access 表或选择查询数据导出到电子表格中时,无论为该参数输入了何值,字段名称都将插入到电子表格的第一行中。
range 可选 variant 型。字符串表达式,表示电子表格中单元格的有效范围或范围名称。该参数仅可用于导入。若要导入整个电子表格,请将该参数留空。导出到电子表格时,必须将该参数留空。如果输入了一个范围,导出将失败。
useoa 可选 variant 型。
说明
有关该操作及其参数如何使用的详细信息,请参阅该操作的主题。
语法中的可选参数允许留空,但是必须包含参数的逗号。如果将位于末端的参数留空,则在指定的最后一个参数后面不需使用逗号。
注意 还可以使用 activex 数据对象 (ado) 来创建链接。方法是,使用 recordset 对象的 activeconnection 属性。
文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




