Foxtable(狐表)用户栏目专家坐堂 → 关于Excel报表


  共有7219人关注过本帖树形打印复制链接

主题:关于Excel报表

帅哥哟,离线,有人找我吗?
blackzhu
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2013/11/28 14:18:00 [显示全部帖子]

bin  太傻了吧 交叉统计  再利用EXCELSave 不就可以了.

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2013/11/28 17:29:00 [显示全部帖子]

'Select  {任务单}.任务单编号,任务名称,{零部件}.零部件编号,{零部件}.零部件名称,加工内容,计划加工日期 From ({任务单} Inner JOIN {零部件} ON {零部件}.[任务单编号] = {任务单}.[任务单编号]) Inner JOIN {加工计划} ON {加工计划}.[零部件编号] = {零部件}.[零部件编号]
Dim dtb1 As New DataTableBuilder("统计表1")
dtb1.AddDef("任务单编号", Gettype(String), 32)
dtb1.AddDef("任务名称", Gettype(String), 32)
dtb1.AddDef("零部件编号", Gettype(String), 32)
dtb1.AddDef("零部件名称", Gettype(String), 32)
dtb1.Build()


Dim dtb As New DataTableBuilder("统计")
dtb.AddDef("产品", Gettype(String), 32)
dtb.Build()
MainTable= Tables("统计")
DataTables("统计").fill("Select  {任务单}.任务单编号,任务名称,{零部件}.零部件编号,{零部件}.零部件名称,加工内容,计划加工日期 From ({任务单} Inner JOIN {零部件} ON {零部件}.[任务单编号] = {任务单}.[任务单编号]) Inner JOIN {加工计划} ON {加工计划}.[零部件编号] = {零部件}.[零部件编号]","",True)

Dim f As New Filler
f.SourceTable = DataTables("统计") '指定数据来源
f.SourceCols = "任务单编号,任务名称,零部件编号,零部件名称" '指定数据来源列
f.DataTable = DataTables("统计表1") '指定数据接收表
f.DataCols =  "任务单编号,任务名称,零部件编号,零部件名称" '指定数据来源列
f.Fill() '填充数据

Dim Vals As List(Of String) = DataTables("统计").GetUniqueValues("[计划加工日期] Is Not Null","计划加工日期")
For Each Val As String In Vals
    Val = Val.Replace(" 0:00:00","")
    If DataTables("统计表1").DataCols.Contains(Val) = False Then
        DataTables("统计表1").DataCols.Add(Val, Gettype(String), 70)
    End If
Next
Dim drs As List(of DataRow)
For Each nr As DataRow In DataTables("统计表1").DataRows
    For Each val As String In Vals
        Val = Val.Replace(" 0:00:00","")
        drs = DataTables("统计").Select("任务单编号 = '" & nr("任务单编号") & "' And 任务名称 = '" & nr("任务名称") & "' And 零部件编号 = '" & nr("零部件编号") & "' And 零部件名称='" & nr("零部件名称") & "' And 计划加工日期 = #" & Val & "#")
        nr(val) = ""
        For Each dr As DataRow In drs
            nr(val) = nr(val) & dr("加工内容") & " "
        Next
        nr(val) = nr(val).Trim(",")
    Next
Next


命令窗口 测试下 有了这个再导出就可以了

 回到顶部