下面是对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
[网络整理]
如果觉得《如何将excel里的数据批量导入ACCESS 要用vb代码?》对你有帮助,请点赞、收藏,并留下你的观点哦!