VB如何读取excel文件?
答案:2 悬赏:50 手机版
解决时间 2021-11-10 09:46
- 提问者网友:感性作祟
- 2021-11-10 01:10
VB如何读取excel文件?
最佳答案
- 五星知识达人网友:往事隔山水
- 2020-08-20 11:21
workbooks.open 文件名
全部回答
- 1楼网友:轮獄道
- 2020-08-15 07:47
1、调用excel对象打开excel文件后,读取文件内容
***************************************
在vb中要想调用excel,需要打开vb编程环境“工程”菜单中的“引用”项目,并选取项目中的“microsoftexcel 11.0 object library”项。由于你的excel版本不同,所以这个选项的版本号也是不同的。
因为excel是以层次结构组织对象的,其对象模型中含有许多不同的对象元素。
第一层:application对象,即excel本身;
第二层:workbooks对象集,指excel的工作簿文件
第三层:worksheets对象集,表示的是excel的一个工作表;
第四层:cells和range对象,指向excel工作表中的单元格。
新建立一个vb的工程,先放一个button,名称为excel_out。先定义好各层:
dim xlapp as excel.application 'excel对象
dim xlbook as excel.workbook '工作簿
dim xlsheet as excel.worksheet '工作表
我们打算做的是:打开/新建一个excel,在其中对某工作表的一些单元格修改其值,然后另存为test.xls文件。
private sub excel_out_click()
dimi, j as integer
setxlapp = createobject("excel.application") '创建excel对象
'set xlbook = xlapp.workbooks.open(app.path& "\test.xls")'打开已经存在的test.xls工件簿文件
setxlbook = xlapp.workbooks.add '新建excel工件簿文件
'xlbook.runautomacros (xlautoopen) '运行excel启动宏
'xlbook.runautomacros (xlautoclose) '运行excel关闭宏
xlapp.visible = true '设置excel对象可见(或不可见)
setxlsheet = xlbook.worksheets(1) '设置活动工作表''
''~~~当前工作簿的第一页,这里也可以换成“表名”
'下面就是简单的在一些单元格内写入数字
fori = 7 to 15
for j = 1 to 10
xlsheet.cells(i, j) = j '当前工作簿第一页的第i行第j列
next j
nexti
withxlsheet '设置边框为是实线
.range(.cells(7, 1), .cells(28, 29)).borders.linestyle = xlcontinuous
endwith
'引用当前工作簿的第二页
setxlsheet = xlapp.application.worksheets(2)
xlsheet.cells(7, 2) = 2008 '在第二页的第7行第2列写入2008
xlsheet.saveasapp.path&"\test.xls" '按指定文件名存盘
'setxlbook = xlapp.application.workbooks.add '新建一空白工作簿
xlapp.quit '结束excel对象'xlapp.workbooks.close
setxlapp = nothing '释放xlapp对象
end sub
这样,我们就可以简单的对excel文件进行操作了。下面再放一些我从网上查到的资料吧,还挺有用的:
1.创建excel对象
eole=createobject(′excel.application′)
2.添加新工作簿
eole.workbooks.add
3.设置第3个工作表为激活工作表
eole.worksheets(〃sheet3〃).activate
4.打开指定工作簿
eole.workbooks.open(〃c:\temp\ll.xls〃)
5.显示excel窗口
eole.visible=.t.
6.更改excel标题栏
eole.caption=〃vb应用程序调用microsoft excel〃
7.给单元格赋值
eole.cells(1,4).value=xm(xm为数据库字段名)
8.设置指定列的宽度(单位:字符个数)
eole.activesheet.columns(1).columnwidth=5
9.设置指定行的高度(单位:磅)
eole.activesheet.rows(1).rowheight=1/0.035
(设定行高为1厘米,1磅=0.035厘米)
10.在第18行之前插入分页符
eole.worksheets(〃sheet1〃).rows(18).pagebreak=1
11.在第4列之前删除分页符
eole.activesheet.columns(4).pagebreak=0
12.指定边框线宽度(borders参数如下)
ole.activesheet.range(〃b3:d3〃).borders(2).weight=3
13.设置四个边框线条的类型
eole.activesheet.range(〃b3:d3〃).borders(2).linestyle=1
(其中borders参数:1-左、2-右、3-顶、4-底、5-斜、6-斜/;linestyle值:1与7-细实、2-细虚、4-点虚、9-双细实线)
14.设置页眉
eole.activesheet.pagesetup.centerheader=〃报表1〃
15.设置页脚
eole.activesheet.pagesetup.centerfooter=〃第&p页〃
16.设置页眉到顶端边距为2厘米
eole.activesheet.pagesetup.headermargin=2/0.035
17.设置页脚到底边距为3厘米
eole.activesheet.pagesetup.footermargin=3/0.035
18.设置顶边距为2厘米
eole.activesheet.pagesetup.topmargin=2/0.035
19.设置底边距为4厘米
eole.activesheet.pagesetup.bottommargin=4/0.035
20.设置左边距为2厘米
veole.activesheet.pagesetup.leftmargin=2/0.035
21.设置右边距为2厘米
eole.activesheet.pagesetup.rightmargin=2/0.035
22.设置页面水平居中
eole.activesheet.pagesetup.centerhorizontally=.t.
23.设置页面垂直居中
eole.activesheet.pagesetup.centervertically=.t.
24.设置页面纸张大小(1-窄行8511 39-宽行1411)
eole.activesheet.pagesetup.papersize=1
25.打印单元格网线
eole.activesheet.pagesetup.printgridlines=.t.
26.拷贝整个工作表
eole.activesheet.usedrange.copy
27.拷贝指定区域
eole.activesheet.range(〃a1:e2〃).copy
28.粘贴
eole.worksheet(〃sheet2〃).range(〃a1〃).pastespecial
29.在第2行之前插入一行
eole.activesheet.rows(2).insert
30.在第2列之前插入一列
eole.activesheet.columns(2).insert
31.设置字体
eole.activesheet.cells(2,1).font.name=〃黑体〃
32.设置字体大小
eole.activesheet.cells(1,1).font.size=25
33.设置字体为斜体
eole.activesheet.cells(1,1).font.italic=.t.
34.设置整列字体为粗体
eole.activesheet.columns(1).font.bold=.t.
35.清除单元格公式
eole.activesheet.cells(1,4).clearcontents
36.打印预览工作表
eole.activesheet.printpreview
37.打印输出工作表
eole.activesheet.printout
38.工作表另存为
eole.activeworkbook.saveas(〃c:\temp\22.xls〃)
39.放弃存盘
eole.activeworkbook.saved=.t.
40.关闭工作簿
eole.workbooks.close
41.退出excel
eole.quit
***************************************
2、调用ado对象以数据库方式打开execl文件后,以sql语句方式读取文件
***************************************
dim rs as adodb.recordset
set rs = new adodb.recordset
dim conn as adodb.connection
set conn = new adodb.connection
conn.open "driver={microsoft text driver (*.txt; *.csv)};" dbq=" & app.path & ";", "", ""
rs.open "select * from [test$]", conn, adopenstatic, adlockreadonly, adcmdtext
set read_text_file = rs
set rs = nothing
set conn = nothing
***************************************
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯