VB导出EXCEL表

前端之家收集整理的这篇文章主要介绍了VB导出EXCEL表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

"工程"菜单中选择"引用"栏;选择Microsoft Excel 14 .0 Object Library,然后选择"确定"。表示在工程中要引用EXCEL类型库。

然后就是实现从MSHFlexGrid控件中将数据导出到EXCEL表中(注意:MSHFlexGrid控件是从第0行,第0列开始的,而EXCEL却是从第1行,第1列开始的)。代码如下:

Dim i As Long    Dim j As Long
    If myFlexGrid.TextMatrix(1,0) = "" Then
        MsgBox "没有数据导出",vbInformation,"提示"
        Exit Sub
    End If
'创建一个Application对象
    Dim excelApp As Excel.Application
    Set excelApp = New Excel.Application
'绑定
    Set excelApp = CreateObject("Excel.Application")
'向Excel中写入数据
    Dim exbook  As Excel.Workbook
    Dim exsheet  As Excel.Worksheet
    Set exbook = excelApp.Workbooks.Add
    excelApp.SheetsInNewWorkbook = 1
'设置为可见
    excelApp.Visible = True
'将控件MSHFlexGrid显示内容写入Excel中
    With excelApp.ActiveSheet
        For i = 1 To myFlexGrid.Rows
            For j = 1 To myFlexGrid.Cols
                .Cells(i,j).Value = "" & Format$(myFlexGrid.TextMatrix(i - 1,j - 1))
            Next j
        Next i
    End With
    '清空并关闭
    Set exsheet = Nothing
    Set exbook = Nothing
    Set excelApp = Nothing

以上只是用到EXCELVB交互的最基本的内容,下面我们来做一些扩展:

首先创建 Excel 对象,使用ComObj:

DimexcelApp as Excel.Application

SetexcelApp as new Excel.Application

1)显示当前窗口:

excelApp.Visible= True

2)更改 Excel 标题栏:

excelApp.Caption='学生上机记录';

3)添加新工作簿:

excelApp.WorkBooks.Add;

4)打开已存在的工作簿:

EexcelApp.WorkBooks.Open('CExcelDemo.xls' );

5)设置第2个工作表为活动工作表:

excelApp.WorkSheets2.Activate;

excelApp.WorkSheets( 'Sheet2').Activate;

6)给单元格赋值:

excelApp.Cells(1,4).Value= '第一行,第四列';

12)清除第一行第四列单元格公式:

excelApp.ActiveSheet.Cells(1,4).ClearContents;

13)设置第一行字体属性

excelApp.ActiveSheet.Rows(1).Font.Name= '隶书';

excelApp.ActiveSheet.Rows(1).Font.Color= clBlue;

excelApp.ActiveSheet.Rows(1).Font.Bold= True;

excelApp.ActiveSheet.Rows(1).Font.UnderLine= True;

k.打印单元格网线:

excelApp.ActiveSheet.PageSetup.PrintGridLines= True;

15)拷贝操作:

a.拷贝整个工作表:

excelApp.ActiveSheet.Used.Range.Copy;

b.拷贝指定区域:

excelApp.ActiveSheet.Range('A1E2' ).Copy;

c.A1位置开始粘贴:

excelApp.ActiveSheet.Range.('A1' ).PasteSpecial;

d.文件尾部开始粘贴:

excelApp.ActiveSheet.Range.PasteSpecial;

16)插入一行或一列:

a.excelApp.ActiveSheet.Rows(2).Insert;

b.excelApp.ActiveSheet.Columns(1).Insert;

17)删除一行或一列:

a.excelApp.ActiveSheet.Rows(2).Delete;

b.excelApp.ActiveSheet.Columns(1).Delete;

18)打印预览工作表:

excelApp.ActiveSheet.PrintPreview;

19)打印输出工作表:

excelApp.ActiveSheet.PrintOut;

20)工作表保存:

If notexcelApp.ActiveWorkBook.Saved then

excelApp.ActiveSheet.PrintPreview

End if

21)工作表另存为:

excelApp.SaveAs('CExcelDemo1.xls' );

22)放弃存盘:

excelApp.ActiveWorkBook.Saved= True;

23)关闭工作簿:

excelApp.WorkBooks.Close;

24)退出 Excel

excelApp.Quit;

25)设置工作表密码

excelApp.ActiveSheet.Protect"123",DrawingObjects=True,Contents=True,Scenarios=True

26)EXCEL显示方式为最大化

excelApp.Application.WindowState= xlMaximized

27)工作薄显示方式为最大化

excelApp.ActiveWindow.WindowState= xlMaximized

28)设置打开默认工作薄数量

excelApp.SheetsInNewWorkbook= 3

29)'关闭时是否提示保存(true 保存;false 不保存)

excelApp.DisplayAlerts= False

猜你在找的VB相关文章