永发信息网

VB如何读取excel文件?

答案:2  悬赏:50  手机版
解决时间 2021-11-10 09:46
VB如何读取excel文件?
最佳答案
workbooks.open 文件名
全部回答
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-窄行8511 39-宽行1411) 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 ***************************************
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
陇南永安技能培训有限公司办公地址在什么地方
遵义绶阳县枧坝镇美景村海拔有多高
武汉2月4日已后十五天天气
关于生日主持人台词
临夏市公安局交通警察大队车管所地址在哪,我
中国移动4G-LTE信号 为什么连接不了
山有木兮木有枝,心悦君兮君可知? 朋友给出这
2028.08除以101应该怎样算
操蛇之神闻之的之是什么意思
跪求To The Sky —Owl City 下载
中科凌志在双目ADAS系统里面排第几?
甘肃银行庆城县支行地址有知道的么?有点事想
我甲我秀地址在哪,我要去那里办事,
多大的罩杯摸着最舒服,国产女星竟然没有这么
怎样用标语警告入室偷盗偷盗小偷
推荐资讯
西安普通烤瓷牙费用多少,最便宜的哪种
挂件绳开了,请问这种绳子怎么系成可伸缩的那
求一些搞笑qq空间标识!
描述君子的诗句
请问:“万世倏忽如疾风,莫以君车轻戴笠”出
愉,这个字能组什么词愉,都能组什么词
用理智击败小三的语言
请问西樵在哪里?
金庸小说《神雕侠侣》中,李莫愁使用的暗器银
二手车价格虚高一倍差不多怎么办
三相交流电功率如何计算?
寻找5至8万吨位船舶用于运输土石方
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?