将数据库的内容导出Excel后,是否可将其进行分组,并且统计?
或者在导出的过程中先进行分组统计?
请教各位大侠!
谢谢!

解决方案 »

  1.   

    在导出之前从数据库得到数据集的时候执行分组统计比较好吧,我觉得。
    一般的分组统计都可以通过SQL语句直接来实现的。具体还要楼主要实现什么样的统计,不妨说出来大家分析分析啊!
      

  2.   

    举例:
    导出是有如下数据
        a    b        c       d       e       f
       s1    0203     name    3       6       16
       s1    0203     name    3       6       16
       s2    0203     name    3       6       16
       s2    0203     name    3       6       16
       s2    0203     name    3       6       16
    导出时要成这样:
        a    b        c       d       e       f
      s1
          0203     name    3       6       16
          0203     name1    3       6       16
      s2
          0203     name    3       6       16
          0203     name1   3       6       16
          0203     name2   3       6       16
      

  3.   

    导出行数不固定不能用模板,只有在程序里控制导入的数据和格式了,就是数据写Excel表格位置的问题
      

  4.   

    行数肯定是不固定的,
    导出方式是普通的数据集Recordset方式导出的...
    就是这个分组统计搞不懂啊...
      

  5.   

    可以的啊,先一行行向EXCEL表格单元格中插入数据,插入数据时用代码判断控制内容。完了统计一下,如果统计比较复杂,你可以先在EXCEL中录制一下相关统计的宏来获得代码。
      

  6.   

    如果你可以导出EXCEL为如下格式
     a    b        c       d       e       f
       s1    0203     name    3       6       16
       s1    0203     name    3       6       16
       s2    0203     name    3       6       16
       s2    0203     name    3       6       16
       s2    0203     name    3       6       16
    那么你重新排版就可以得到你要的格式了,也就是判断一下a值,如果下一个和上一个不样插入一行,填充相关值,最后清除a列的值,就可以了吧?
      

  7.   

    现在手边没有VB,写不了示例
    你可以这样,将相关操作比如,插入一行啊,合并列啊,向行中填充数据啊,等等分别录制宏,按alt + f11打开excel的模块代码,就可以得到相关操作的代码了,在VB中优化一下就可以了。
      

  8.   

    录制宏很麻烦,而且要在excel打开时就执行...
      

  9.   

    录制宏的意思是让你看VBA的代码,然后加到VB中执行,不需要在excel中执行宏
      

  10.   

    就你的例子,以下思路是否可行?
    Dim i&
    Dim s$
    ...
      rs.Open "select * from yourtable order by  a", Conn
      rs.MoveFirst
      i = 1
      s = ""
      Do Until rs.EOF
         If rs("a") <> s Then
            s = rs("a")
            XLSHEET.Cells(i, 1) = rs("a")
            i = i + 1
         End If
         XLSHEET.Cells(i, 2) = rs("b")
         XLSHEET.Cells(i, 3) = rs("c")
         XLSHEET.Cells(i, 4) = rs("d")
         XLSHEET.Cells(i, 5) = rs("e")
         XLSHEET.Cells(i, 6) = rs("f")
         i = i + 1
         rs.MoveNext
      Loop
      

  11.   

    你要什么格式?合并单元格,设置单元格长宽、字体、显示单元格网格线等都可以在程序里实现,
    如果不知道怎么写就录制宏然后看VBA的代码
      

  12.   

    这就是VBA中的数据透视表的问题去MS的MSDN网站上查数据透视表