最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

如何将excel里的数据批量导入ACCESS

来源:动视网 责编:小OO 时间:2025-09-28 12:22:56
文档

如何将excel里的数据批量导入ACCESS

下面是对EXECL的基础操作说明:SetxlApp=CreateObject("Excel.Application")‘激活EXCEL应用程序xlApp.Visible=False‘隐藏EXCEL应用程序窗口SetxlBook=xlApp.Workbooks.Open(strDestination)‘打开工作簿,strDestination为一个EXCEL报表文件SetxlSheet=xlBook.Worksheets(1)‘设定工作表1、定义EXCEL对象变量dimxasexcel.appl
推荐度:
导读下面是对EXECL的基础操作说明:SetxlApp=CreateObject("Excel.Application")‘激活EXCEL应用程序xlApp.Visible=False‘隐藏EXCEL应用程序窗口SetxlBook=xlApp.Workbooks.Open(strDestination)‘打开工作簿,strDestination为一个EXCEL报表文件SetxlSheet=xlBook.Worksheets(1)‘设定工作表1、定义EXCEL对象变量dimxasexcel.appl
下面是对EXECL的基础操作说明: 

Set xlApp = CreateObject("Excel.Application") 

‘激活EXCEL应用程序 

xlApp.Visible = False ‘隐藏EXCEL应用程序窗口 

Set xlBook = xlApp.Workbooks.Open(strDestination) 

‘打开工作簿,strDestination为一个EXCEL报表文件 

Set xlSheet = xlBook.Worksheets(1) 

‘设定工作表 

1、定义EXCEL对象变量 

dim x as excel.application 

2、VB中,启动EXCEL 

set x=createobject("excel.application") 

3、新建一个EXCEL工作簿 

x.workbooks.add 

4、选定工作表1 

set xsheet=xbook.worksheets(1) 

5、指定单元格,并赋值 

xsheet.cell(1,1)=ret.fields(0) 

6、指定EXCEL列宽 

xsheet.column(1).columnwidth=10 

7、RANGE()函数,选定单元格区域 

range(cells(1,1),cells(10,20)) 

8、设置EXCEL字体 

xsheet.range(cells(1,1),cells(10,20)).font.name="黑体" 

9、设置EXCEL为粗体 

xsheet.range(cells(1,1),cells(10,20)).fontbold=true 

10、设置EXCEL表格边框 

xsheet.range(cells(1,1),cells(10,20)).borders.linestyle=xlcontinuous 

11、运行时,显示EXCEL或隐藏EXCEL 

x.visible=true 

12、保存工作簿 

xbook save 

13、退出EXCEL 

x.quit 

14、交还控制权给EXCEL 

set x=nothing 

15、打印EXCEL表 

x.active.window.selectedsheets.printout copies=numcopies 

16、退出EXCEL时,不出现保存提示。 

x.displayalerts=false 

17、怎样运用EXCEL公式? 

x.range("A3").formula= "=max(A1,A2)" 

18、EXCEL代码获取技巧 

打开EXCEL中的工具----宏----录制新宏,然后进行手工操作,结束后把所录的宏代码贴进你的VB程序就行。 

19、合并单元格代码 

x.range("A2:A5").inergecells=true 

20、自动调整列宽代码 

x.column("A:I").autofit ' a到 I列自动调整列宽 

21、文本自动换行代码 

x.rows(3).wraptext=true 

22、设置字体颜色 

x.rows(1).font.colorindex=4 

23、打印预览代码 

x.worksheets.printpreview 

24、打开EXCEL文件 

x.workbooks.open filename:="c:\\my documents\\my vb \\lgx \\dy.xls" 

下面是如何从EXECL文件中读写数据: 

使用Excel Sheet对象的技术可以处理可变数量的数据,并将结果最后送到你的Visual Basic 应用程序中。例子如下: 

新建一个工程并在新建的窗体上放置两个TextBox控件和一个CommandButton控件及六个Label控件。建设中的窗体如图2所示。 

程序代码如下: 

Option Explicit 

Private Sub Command1-Click() 

Dim xObject As Object 

Set xObject = CreateObject("Excel.Sheet") 

Set xObject = xObject.Application.ActiveWorkbook.ActiveSheet 

xObject.Range("A1").Value = Text1.Text ′将数值送入Excel的A1单元格 

xObject.Range("A2").Value = Text2.Text ′将数值送入Excel的A2单元格 

xObject.Range("A3").Formula = "=MAX(A1,A2)" ′将最大值送入A3单元格 

xObject.Range("A4").Formula = "=ATAN(A1/A2)*180/PI()" ′将反正切值送入A4单元格 

′显示计算的结果 

Label1.Caption = xObject.Range("A3").Value'从EXECL读出数值 

Label2.Caption = xObject.Range("A4").Value 

Set xObject = Nothing 

End Sub 

Private Sub Form_Load() 

Text1.Text = "" 

Text2.Text = "" 

Label1.Caption = "" 

Label2.Caption = "" 

End Sub 

该程序的作用是:首先在两个文本框(Text1和Text2)输入数值并分别将输入的数值送入Excel的"A1"和"A2"单元格中,然后用Excel中的"Max()"函数将计算的结果送入"A3" 单元格中;用反正切函数"ATAN()"进行计算并将结果送入"A4" 单元格中,最后输出。 

有了以上说明,再加上你已经学会的ACCESS数据库操作技术,就可以实现EXECL里的数据批量导入ACCESS了。

////////////////////

用VB代码插入的时候,excel表中有一列前几行数据是空的,结果整个一列都导不进access,还有一列是日期格式,但有些却是常规格式,结果这一列中常规格式的也导不进去,代码如下,望高手能协助解决,谢谢。 

sub ImportToAccess() 

on error resume next 

dim db1 as database, db2 as database 

'打开excel表 

set db1=opendatabase("d:\\111.xls",true,false,"Excel 5.0") 

'删除acces表中数据 

db1.execute "delete * from [;database='d:\\222.mdb'].ssc" 

'读取excel表中字段,共3个字段,其中第2个字段是日期格式,问题就在这里,有些非日期型的数据就算用了cdate函数也导不进去 

fields1="" 

for a=0 to 2 

if a=1 then 

fields1=fields1 + "cdate(["_ _+db1.tabledefs("sheet1$").fields(a).name + "]), " 

else 

fields1=fields1 + "trim(["_ _+db1.tabledefs("sheet1$").fields(a).name + "]), " 

end if 

next 

fields1=left(fields1,len(fields1)-2) 

’读取acces表中字段 

set db2=opendatabase("d:\\222.mdb") 

table2=db2.tabledefs("ssc") 

fields2="" 

for b=0 to 2 

fields2=fields2 + "[" + table2(b).name + "], " 

next 

fields2=left(fields2,len(fields2)-2) 

db2.close 

'用SQL语言插入数据 

sql="insert into [;database='d:\\222.mdb'].ssc (" 

sql=sql + fields2 + ") select " + fields1 

sql=sql + " from [sheet1$];" 

db1.execute(sql) 

end sub

提问者: 竹之刀2 - 试用期 一级 

最佳答案

使用isdate函数进行判断,如果是非法日期,那就随便给他个内容好了,比如:1900-01-01。这样导入后你也知道excel那些记录的内容非法。 

文档

如何将excel里的数据批量导入ACCESS

下面是对EXECL的基础操作说明:SetxlApp=CreateObject("Excel.Application")‘激活EXCEL应用程序xlApp.Visible=False‘隐藏EXCEL应用程序窗口SetxlBook=xlApp.Workbooks.Open(strDestination)‘打开工作簿,strDestination为一个EXCEL报表文件SetxlSheet=xlBook.Worksheets(1)‘设定工作表1、定义EXCEL对象变量dimxasexcel.appl
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top