机房收费系统中,好多查询的窗体都包含同一个功能:将数据库中查询到的数据显示在MSHFlexGrid控件中,然后再把MSHFlexGrid控件中的数据导出到Excel表格中。
虽然之前做过学生信息管理系统,不过并没有涉及到这个功能,因此记录于此,于己,回顾反思,于大家,分享学习。
方法一:在根目录中事先建立空的Excel表格
1、在与VB工程同一根目录中建立将要导入数据的Excel表格;
2、在VB事件中写代码:
Private Sub cmdExport_Click()
Dim i As Integer
Dim j As Integer
myFlexGrid.Redraw = False '关闭表格重画,加快运行速度
Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
'打开已经存在的EXCEL工件簿文件
Set xlBook = xlApp.Workbooks.Open(App.Path & "\学生上机记录.xls")
xlApp.Visible = True '设置EXCEL对象可见
Set xlSheet = xlBook.Worksheets("Sheet1") '设置活动工作表
For i = 0 To myFlexGrid.Rows - 1 '行循环
For j = 0 To myFlexGrid.Cols - 1 '列循环
myFlexGrid.Row = i
myFlexGrid.Col = j
'保存到EXCEL xlBook.Worksheets("Sheet1").Cells(i + 1, j + 1) = myFlexGrid.Text Next j
Next i
myFlexGrid.Redraw = True
End Sub
方法二:直接引用VB中自带的Microsoft Excel 14.0 Object Library
1、在VB设计器中,工程→引用,引用Microsoft Excel 14.0 Object Library;
2、编写代码:
Private Sub cmdExport_Click()
Dim i As Integer
Dim j As Integer
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = CreateObject("Excel.Application") '实例化对象xlApp
xlApp.Visible = True
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)
For i = 0 To myFlexGrid.Rows - 1
For j = 0 To myFlexGrid.Cols - 1
myFlexGrid.Row = i
myFlexGrid.Col = j
xlSheet.Cells(i + 1, j + 1) = Trim(myFlexGrid.Text)
Next
Next
End Sub
第一种方法不用引用Microsoft Excel 14.0 Object Library,但必须得在根目录下建立相应的Excel表格,第二种方法不用建立表格,直接引用Microsoft Excel 14.0 Object Library可以直接实例化,比较方便。
分享到:
相关推荐
vb实现一个登陆界面,登陆之后,访问数据库并将数据显示在MSHFlexGrid控件中。MSHFlexGrid控件可以响应双击事件;可以导入导出excel文件格式。
VB6.0统计MSHFLexGrid控件中的各种数据
VB数据库编程中MSHFlexGrid控件用法详解
Set wNewTable = wDoc.Tables.Add(wDoc.Range, MSHFlexGrid1.Rows, MSHFlexGrid1.Cols) For i = 0 To MSHFlexGrid1.Rows - 1 For j = 0 To MSHFlexGrid1.Cols - 1 wNewTable.Cell(i + 1, j + 1).Range.Text =...
包含VB6中MSHFlexGrid的几个常用方法,如标题行的自动列宽、隔行显示不同背景色、支持鼠标滚动等
vb实现一个登陆界面,登陆之后,访问数据库并将数据显示在MSHFlexGrid控件中。MSHFlexGrid控件可以响应双击事件;可以导入导出excel文件。
解决vb MSHFlexGrid行数限制补丁,解压MSHFlxGd.ocx后到C:\WINDOWS\system32覆盖以前版本,然后在工程中把以前的MSHFlexGrid控件删除,重新工程\部件\浏览定位新的MSHFlxGd.ocx,再添加MSHFlexGrid控件即可。
mshflexgrid控件上显示数据,内容简单明了.
在VB中,运用MSHFlexGrid控件进行数据分组显示的一个实例,可以自己规定成批的数据归属于某一组,并非一次列下来,在遇到处理...
VB为MSHFlexGrid控件增加鼠标滚轮功能,与添加Datagrid控件鼠标滚动的方法是相似的,主要是基于代码中所定义的鼠标滚动API文件,你可参照本例的源码引入这个API定义,那么实现MSHFlexGrid的鼠标滚动滚动数据是轻易而...
VB中MSHFlexGrid的使用详细说明
本控件系VB6.0编写,可以直接打印MSHFlexGrid控件(如果控件的数据中有图片,图片也会打印出来)、ListView控件、ADO记录、DAO记录、Datagrid控件、Flexgrid控件的内容,省时省力。对MSHFlexGrid控件的内容,控件...
vb MSHFlexGrid带数据库版本的MSHFlexGrid用法例子,若你对此数据加控件用法不熟悉,本源码非常适合你。
使mshflexgrid 控件具有编辑功能,不知是否可以用,大家可以试试。我可不保证好用啊。
要使用该示例,在窗体中放置一个 MSHFlexGrid 控件和一个 ComboBox 控件。把下面的代码粘贴到 Declarations 节,然后按 F5 键。 注意 如果正在使用 MSFlexGrid,用“MSFlexGrid1”代替“MSHFlexGrid1”。
VB6.0中编辑MSHFlexGrid复选行和列
VB6.0中根据每一个单元格的内容根据指定的列宽强制换行,并根据单元格的内容调整行高和列宽