机房收费系统的实现:VB中如何将MSHFlexGrid控件中的数据导出到Excel2014-10-18机房收费系统中,好多查询的窗体都包含同一个功能:将数据库中查询到的数据显示在MSHFlexGrid控件中,然后再把MSHFlexGrid控件中的数据导出到Excel表格中。虽然之前做过学生信息管理系统,不过并没有涉及到这个功能,因此记录于此,于己,回顾反思,于大家,分享学习。方法一:在根目录中事先建立空的Excel表格1、在与VB工程同一根目录中建立将要导入数据的Excel表格;2、在VB事件中写代码:
Private Sub cmdExport_Click()Dim i As IntegerDim j As IntegermyFlexGrid.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"保存到EXCELxlBook.Worksheets("Sheet1").Cells(i + 1, j + 1) = myFlexGrid.Text Next jNext imyFlexGrid.Redraw = TrueEnd Sub
URL:http://www.bianceng.cn/Programming/vb/201410/45963.htm方法二:直接引用VB中自带的Microsoft Excel 14.0 Object Library1、在VB设计器中,工程→引用,引用Microsoft Excel 14.0 Object Library;2、编写代码:
Private Sub cmdExport_Click()Dim i As IntegerDim j As IntegerDim xlApp As Excel.ApplicationDim xlBook As Excel.WorkbookDim xlSheet As Excel.WorksheetSet xlApp = CreateObject("Excel.Application") "实例化对象xlAppxlApp.Visible = TrueSet xlBook = xlApp.Workbooks.AddSet xlSheet = xlBook.Worksheets(1)For i = 0 To myFlexGrid.Rows - 1For j = 0 To myFlexGrid.Cols - 1myFlexGrid.Row = imyFlexGrid.Col = jxlSheet.Cells(i + 1, j + 1) = Trim(myFlexGrid.Text)NextNextEnd Sub
第一种方法不用引用Microsoft Excel 14.0 Object Library,但必须得在根目录下建立相应的Excel表格,第二种方法不用建立表格,直接引用Microsoft Excel 14.0 Object Library可以直接实例化,比较方便。