VSFLEXGRID 数据转出到 EXCEL

转载 2006年06月19日 11:32:00

工程引用说明:本代码的使用是基于Microsoft Excel 2003使用的,未在其它版本的Office上测试过,因此在VB中应当引用Microsoft Excel 11.0
代码其它内容说明:本代码中使用了VsFlexGrid做为源数据;并且可以命名EXCEL 工作单(SHEET)的名称,其中第一段代码是将内容保存到一个新的EXCEL 工作簿中,而第二个则是将内容保存到一个已存在的工作簿中。

为了显示进度,我使用了一个显示进度的窗体,frmPBar,可以去掉相关的该段代码。

Public Sub GridToExcel(srcGrid As VSFlexGrid, shName As String)
    '将Grid中的数据导出到Excel表格中
    Dim i As Integer
    Dim j As Integer
   
    Dim appXL As Variant
    Dim wb As Excel.Workbook
    Dim sh As Excel.Worksheet
    Dim rng, rng1, rng2 As Excel.Range
   
    On Error GoTo errhandler
   
    Set appXL = CreateObject("Excel.Application")
    Set wb = appXL.Workbooks.Add()
   
    wb.Activate
   
    Set sh = wb.Worksheets.Add()
    sh.Name = shName
   
    frmPBar.Caption = "正在导出数据,请稍候......"
    frmPBar.Show
   
    For i = 0 To srcGrid.Rows - 1
        For j = 1 To srcGrid.Cols - 1
            sh.Cells(i + 1, j) = srcGrid.Cell(flexcpText, i, j)
            DoEvents
        Next j
    Next i
   
    Unload frmPBar
       
    appXL.Visible = True
    Exit Sub
errhandler:
    MsgBox Err.Description
   
End Sub


Public Sub GridToExistExcel(srcGrid As VSFlexGrid, fileName As String, shName As String)
    '将Grid中的数据导出到一个指定文件的Excel表格中
    Dim i As Integer
    Dim j As Integer
   
    Dim appXL As Variant
    Dim wb As Excel.Workbook
    Dim sh As Excel.Worksheet
    Dim rng, rng1, rng2 As Excel.Range
   
    On Error GoTo errhandler
   
    Set appXL = CreateObject("Excel.Application")
    'Set wb = appXL.Workbooks.Add()
    Set wb = appXL.Workbooks.Open(fileName)
    wb.Activate
   
    Set sh = wb.Worksheets.Add()
    sh.Name = shName
   
    frmPBar.Caption = "正在导出数据,请稍候......"
    frmPBar.Show
    For i = 0 To srcGrid.Rows - 1
        For j = 1 To srcGrid.Cols - 1
            sh.Cells(i + 1, j) = srcGrid.Cell(flexcpText, i, j)
            DoEvents
        Next j
    Next i
    Unload frmPBar
   
    appXL.Visible = True
    Exit Sub
errhandler:
    MsgBox Err.Description
   
End Sub

VSFlexGrid控件

1,如果想把某一列设置成下拉匡中选择,只能写成 grid.colcombolist(1) = "a|b|c" 吗?能不能把下拉框中的数据和 recordset 或数组绑定。 答案:grid.colco...
  • lgb571
  • lgb571
  • 2006年05月28日 12:08
  • 5392

vsflexgrid+打印整理后的方法

目录 合计功能放在表格里面... 2 合计功能赋值给文本框... 3 选择单元格变色,设置下拉框... 3 控制只能输入数字... 4 设置列不可编辑+设置数据库下拉框... 5 ...
  • u014700906
  • u014700906
  • 2017年02月27日 09:22
  • 431

VSFLEXGRID 数据转出到 EXCEL

工程引用说明:本代码的使用是基于Microsoft Excel 2003使用的,未在其它版本的Office上测试过,因此在VB中应当引用Microsoft Excel 11.0代码其它内容说明:本代码...
  • boovo
  • boovo
  • 2006年06月19日 11:32
  • 2011

VSFlexGrid使用技巧

如何实现将vsflexgrid中修改的数据反馈到数据库中? Private Sub vsflexgrid1_AfterEdit(ByVal Row As Long, ByVal Col As Lon...
  • km_afei
  • km_afei
  • 2016年11月18日 16:53
  • 1445

【Mysql】将Mysql的一张表导出至Excel

把Mysql的一张表导出至Excel不像《【Mysql】将Excel表导入至Mysql的其中一张表》(点击打开链接)那样困难, 直接输入如下的T-SQL语句即可: select * from 某个...
  • yongh701
  • yongh701
  • 2015年03月04日 15:37
  • 10613

excel表格数据转换成json数据的小工具

最近常遇到这样的需求:把Excel表格中人员角色等数据,转换成json格式的数据,然后把json数据导入到mongodb数据库中。在寻找快速解决办法的时候,发现一款C#写的工具,虽然不是C#开发人员,...
  • younglao
  • younglao
  • 2017年08月29日 17:51
  • 656

vsflexgrid技巧大全

如何实现将vsflexgrid中修改的数据反馈到数据库中??Private Sub vsflexgrid1_AfterEdit(ByVal Row As Long, ByVal Col As Long...
  • boovo
  • boovo
  • 2006年02月09日 09:55
  • 9362

VSFlexGrid控件收藏

  VSFlexGrid控件收藏 新一篇: 用金山词霸的dll文件实现屏幕取词  | 旧一篇: 如何使用 IPSec 阻止特定网络协议和端口 function StorePage(){d=...
  • skyremember
  • skyremember
  • 2008年11月07日 07:30
  • 3613

PPT, Excel, Visio转eps,插入Latex小记

我用的的CTex套件,插入eps的图,注意用TeXify编译模式。 示意图都是用ppt或visio画的,曲线是用excel画的,转成eps的步骤如下: 1. 安装p...
  • bibiqueue
  • bibiqueue
  • 2014年03月17日 14:40
  • 1822

PB数据窗口导出到EXCEL函数

function f_oletoexcel(adw datawindow,title string,as_file string)Oleobject ole_objectString    s_eng...
  • lxh84
  • lxh84
  • 2007年06月30日 12:56
  • 2943
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VSFLEXGRID 数据转出到 EXCEL
举报原因:
原因补充:

(最多只允许输入30个字)