查无此鸟的博客 一个不误正业的交通工程师的个人网站

[新浪博客][博文搬家]VB.Net 2008 引用Excel12

标签:野生程序猿 | 发表时间:2011-12-06 14:52:02 | 更新时间: 2020-04-23 19:08:56 | 阅读数:207 | 评论数:0 | 字数:1393

本文首发于博客园博客,后转载至新浪博客,具体时间为2011-12-06 14:52:02,新浪博客的地址为:http://blog.sina.com.cn/s/blog_638f985701010m61.html 。
按:这篇文章最初2010-04-01 发表在博客园的博客 昨天开始写自己第一个dotNet程序,程序要用到读取Excel表格数据(Office 2007)的功能,顺着VB6的思路,也就开始找引用,并且也比较顺利的找到了,但是鼓捣半天总是报错。于是上网求助,发现很多人用的是Office 2003,引用的是Excel11。但是Office 2007是Excel12,按照Excel11的方法来写,会报错。 好不容易找到一老外写的教程,豁然开朗:原来需要在程序前加一句话。 接下来,详细说下VB.Net2008引用Excel12的用法。 1.添加引用 菜单:项目——XX属性…打开属性标签。找到引用项,可以看到当前工程里引用了那些东东。

图片01

点击【添加】按钮,在com选项卡里寻觅……

图片02

选中 Microsoft Excel 12.0 Object Library点击确定即可将Excel12添加到引用。 2.编写代码打开Excel文件

注意:在代码窗的开始时一定要加上这句代码: Imports Microsoft.Office.Interop.Excel '引入Excel应用

后面的代码就很像Vb6的了:
1 Dim xlsApp As Application = CreateObject("Excel.Application") 2 Dim xlsWB As Workbook 3 Dim xlsWS As Worksheet 4 Dim xlsRang As Range
上面这段话是在定义Excel对象,熟悉Vb6的朋友们不会陌生的。
xlsWB = xlsApp.Workbooks.Open(filepath)
上面这句话用来打开Excel应用。
xlsWS = xlsWB.Worksheets(1)
这句话打开工作簿。可以写成xlsWB.Worksheets(1),也可以写成xlsWB.Worksheets("sheet1")之类。
xlsWS.Cells(1,1).text
上面这句话可以用来给变量赋值也可以倒过来用在给excel赋值上,例如:
‘给变量赋值 T=xlsWS.Cells(1,1) ’给Excel赋值 xlsWS.cells(1,1)=101
创建和保存Excel2007
xlsWB = xlsApp.Workbooks.Add(1) xlsWS = xlsWB.Worksheets(1) xlswb.saveas(filepath)
哦,差点忘了,用完Excel一定要关掉应用,否则进程中会留一个Excel的进程。
xlsWB.Close() '关闭excel应用
如果在一个程序中多次用到Excel,那么只需在程序结束时关掉就行了,不必每次都关。
Private Sub frmMain_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing On Error Resume Next xlsWB.Close() '关闭excel应用 End Sub
PS:我的邮箱是t5lyg@126.com,如遇到同为VB.Net爱好者的网友,欢迎联系交流。

版权声明:本文由@查无此鸟创作,采用知识共享 署名-非商业性使用-禁止演绎 3.0 中国大陆许可协议进行许可。除非注明,均为原创文章,请在转载时注明来源,并完整保留本段声明。本文地址: http://liyonggang.net/blog.aspx?id= 2011-11-06



本文评论:
暂无评论……

发表评论:(昵称或评论内容不允许为空!邮箱可不填,但建议填写以备联系,邮箱将不显示在评论中。) 昵称 邮箱

查无此鸟的博客

Copyright©查无此鸟 2020~2022, All Rights Reserved

邮箱:t5lyg@126.com

其他链接

卢昌海的网站 | 鱼の后花园博客) | 新交通人的技术闲谈-知乎 | FROYOs Blog | 博客园 | 鸟哥Linux | 蜂鸟的小窝 | 大眼仔

AutoCAD.NET: Kevin K | 大非sb