近期用excel和VB比較多,就简单的学习了一下VB中对Excel的处理。今天就介绍一些吧。
 
    在VB中要想调用Excel,须要打开VB编程环境“project”菜单中的“引用”项目,并选取项目中的“Microsoft Excel 11.0 object library”项。因为你的Excel版本号不同,所以这个选项的版本号号也是不同的。
 
    由于EXCEL是以层次结构组织对象的,其对象模型中含有很多不同的对象元素。
    第一层:Application对象,即Excel本身;

第二层:workbooks对象集,指Excel的工作簿文件;

第三层:worksheets对象集,表示的是Excel的一个工作表;

第四层:Cells和Range对象,指向Excel工作表中的单元格。

新建立一个VB的project,先放一个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()
 Dim i, j As Integer
 Set xlapp = CreateObject("Excel.Application") '创建EXCEL对象
  'Set xlbook = xlapp.Workbooks.Open(App.Path & "/test.xls") '打开已经存在的test.xls工件簿文件
 Set xlbook = xlapp.Workbooks.Add '新建EXCEL工件簿文件
 'xlbook.RunAutoMacros (xlAutoOpen) '执行EXCEL启动宏
 'xlbook.RunAutoMacros (xlAutoClose) '执行EXCEL关闭宏
 xlapp.Visible = True '设置EXCEL对象可见(或不可见)
 Set xlsheet = xlbook.Worksheets(1) '设置活动工作表''
                              ''~~~当前工作簿的第一页,这里也能够换成“表名”

'以下就是简单的在一些单元格内写入数字
 For i = 7 To 15 
   For j = 1 To 10

xlsheet.Cells(i, j) = j   '当前工作簿第一页的第I行第J列
   Next j
 Next i

With xlsheet      '设置边框为是实线
    .Range(.Cells(7, 1), .Cells(28, 29)).Borders.LineStyle = xlContinuous
 End With
 
 '引用当前工作簿的第二页
 Set xlsheet = xlapp.Application.Worksheets(2)
     xlsheet.Cells(7, 2) = 2008   '在第二页的第7行第2列写入2008
 xlsheet.SaveAs App.Path & "/test.xls"           '按指定文件名称存盘
 'Set xlbook = xlapp.Application.Workbooks.Add '新建一空白工作簿

xlapp.Quit '结束EXCEL对象'xlapp.Workbooks.Close

Set xlapp = 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

VB读写Excel的更多相关文章

  1. 用VB操作Excel的方法

    VB是常用的应用软件开发工具之一,由于VB的报表功能有限,而且一但报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便.因此有很多程序员现在已经充分利用EXECL的强大报表功来实现报 ...

  2. C#/VB.NET Excel数据分列

    C#/VB.NET Excel数据分列 有时候我们需要将保存在Excel单元格中的组合型数据拆分为多列(如将全名拆分为姓和名两列)以方便我们处理.记忆或保存.为了避免重复和大量的手动输入工作,Exce ...

  3. VB操作EXCEL文件

    用VB操作Excel(VB6.0)(整理) 首先创建Excel对象,使用ComObj:Dim ExcelID as Excel.ApplicationSet ExcelID as new Excel. ...

  4. MFC vs2012 Office2013 读写excel文件

    近期在忙一个小项目(和同学一起搞的),在这里客户要求不但读写txt,而且可以读写excel文件,这里本以为很简单,结果...废话少说,过程如下: 笔者环境:win7 64+VS2012+Office2 ...

  5. C# 使用 NPOI 库读写 Excel 文件(转载)

    NPOI 是开源的 POI 项目的.NET版,可以用来读写Excel,Word,PPT文件.在处理Excel文件上,NPOI 可以同时兼 容xls 和 xlsx.官网提供了一份Examples,给出了 ...

  6. Python3.4如何读写Excel

    在python3.x(散仙使用的版本是python3.4)里,我们应该如何操作excel. 首先在python3.4里,我们可以使用新的python类库,来支持3.x之后的读写excel 针对 03版 ...

  7. 用Python读写Excel文件(转)

    原文:google.com/ncr 虽然天天跟数据打交道,也频繁地使用Excel进行一些简单的数据处理和展示,但长期以来总是小心地避免用Python直接读写Excel文件.通常我都是把数据保存为以TA ...

  8. 使用NPOI读写Excel、Word

    NPOI 是 POI 项目的 .NET 版本.POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目. 使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 ...

  9. 【原创】.NET读写Excel工具Spire.Xls使用(1)入门介绍

    在.NET平台,操作Excel文件是一个非常常用的需求,目前比较常规的方法有以下几种: 1.Office Com组件的方式:这个方式非常累人,微软的东西总是这么的复杂,使用起来可能非常不便,需要安装E ...

随机推荐

  1. HDU1754(线段树)

    I Hate It Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  2. ng-cli

    angluar2 cli 是一个比较好的工具 .解决 Angular 2 环境设置是一大入门门槛,有22%的人说环境设置太过复杂.Angular CLI的诞生,正是为了解决这个问题. 1. 基本介绍 ...

  3. [LeetCode] Interleaving String [30]

    题目 Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2. For example, Given: ...

  4. 用了 CSDN 的 markdown 编辑器吐槽下~~

    吐槽一下.. . 第一次用 CSDN 的这个 markdown 编辑器,首先感官上看起来还是非常大气相比曾经那个 HTML 编辑器实在时上了N个档次,但实际使用的体验实在是比較糟糕的.希望能改进下哦: ...

  5. c#语句:分支

    六.分支:(一)if (表达式){}说明:1.表达式,就是用来返回bool形的表达式.2.if的小括号后面千万不要加分号 (二)if(表达式){}else{} 例:1.输入年龄,大于等于18显示成年, ...

  6. UVA 1345 Jamie's Contact Groups

    题意: 一些人,和他们可能加入的组号.问每个组,最小的最大人数是多少 分析: 二分的是最大流的容量.设置一个超级源点,连向所有的人,容量为1.设置一个超级汇点,使所有的组连向超级汇点,二分的就是这里的 ...

  7. SFTP CONFIGURATION IN FLASHFXP PROGRAM

    This is a brief guide on how to configure the FlashFXP FTP client to log on to the domain web space ...

  8. ASP.NET属性之AssociatedControlID

    AssociatedControlID 是用在Asp.Net 中的 Label 控件上.给label控件关联一个ASP.NET的控件,在点击 这个 LABEL的时候,所关联的ASP.NET控件会获得焦 ...

  9. 数据结构算法应用C++语言描述——(1)C++基础知识

    一.二维数组 (1)二维数组的列是固定时,行未知时使用动态分配 当一个二维数组每一维的大小在编译时都是已知时,可以采用类似于创建一维数组的语法 来创建二维数组.例如,一个类型为char的7×5数组可用 ...

  10. Nginx反向代理匹配部分二级域名或二级目录配置

    server { charset utf-; client_max_body_size 128M; # Add index.php to the list if you are using PHP i ...