以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  EXCEL报表的问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=26830)

--  作者:小猪鑫鑫
--  发布时间:2012/12/15 10:47:00
--  EXCEL报表的问题

狐爸及各位朋友,大家好,想请教一个EXCEL报表的问题,下面有三张表,第一张是我做的模板,第二张是出来的效果,第三张是我希望的效果,请帮我改改,谢谢!

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:装货码单模板.xls

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:现在的装货码单.xls

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:想要的装货码单.xls


--  作者:lin_hailun
--  发布时间:2012/12/15 10:57:00
--  
 上传例子,带上数据。
--  作者:小猪鑫鑫
--  发布时间:2012/12/15 11:17:00
--  

Lin sir :谢谢了!

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:excel报表.table


--  作者:lin_hailun
--  发布时间:2012/12/15 12:36:00
--  
如下,先参考下。

 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:desktop.zip


--  作者:小猪鑫鑫
--  发布时间:2012/12/15 13:55:00
--  
Lin sir:好像有点问题,在商业版下面使用,第二列应从31号起步,但丢了31号,直接从32号起步了,另如果在开发版下面使用,直接只有一列数据了,第二列,第三列是空白的,请LIN SIR 再帮我看看
--  作者:lin_hailun
--  发布时间:2012/12/15 14:01:00
--  
 呃,代码在报表事件那里。通过代码写入数据的。你调整一下。
[此贴子已经被作者于2012-12-15 14:01:21编辑过]

--  作者:小猪鑫鑫
--  发布时间:2012/12/15 14:47:00
--  

LIN SIR: 还是不行啊,我是通过在窗口中加一个按扭写入代码点击它来打印的,我把您写的事件,变量全部复制进我的开发版以后,好像没有起到作用啊,跟我上午发给你的一样,这是打印出来的效果,请帮我看看,我不是通过系统的报表打印来打印(但我完全按您在商业版中的做法,在开发版式中也没法实现我的要求),拜托了!

这是我的打印代码

 

Dim r As Row =Tables("CK成品出入库表").current

Dim cp As String =r("产品名")

Dim Book As New XLS.Book(ProjectPath & "Attachments\\" & cp & "装货码单.xls")

Dim fl As String =projectpath & "Reports\\" & cp & "装货码单.xls"

Book.Build() \'生成细节区

Book.Save(fl) \'保存工作簿

Dim Proc As New Process \'打开工作簿

Proc.File = fl

Proc.Start()

 

 这是现在打印的效果

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:地毯装货码单.xls


--  作者:lin_hailun
--  发布时间:2012/12/15 15:33:00
--  
注意模版的名称,就行了。

 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:desktop.zip


--  作者:小猪鑫鑫
--  发布时间:2012/12/15 16:05:00
--  

LIN sir:您好,现在基本达到要求,但是不知怎么总是少了31号记录,但我不知道修改什么位置

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:装货码单.xls

 

您的代码是

Select e.Book.TempLate
    Case "装货码单"
        Dim t As Table = Tables("CK成品出入库表.CK成品出入库明细表")
        If 30 + Vars("row_count") < t.Rows.Count
            Dim r1 As Row = t.Rows(30 + Vars("row_count"))
            e.Book.Marks("出码+30") = r1("出码")
            e.Book.Marks("物料编码+30") = r1("物料编码")
            e.Book.Marks("物料名称+30") = r1("物料名称")
            e.Book.Marks("成品形式+30") = r1("成品形式")
            e.Book.Marks("数量+30") = r1("数量")
            e.Book.Marks("宽度+30") = r1("宽度")
            e.Book.Marks("重量+30") = r1("重量")
        Else
            e.Book.Marks("出码+30") = ""
            e.Book.Marks("物料编码+30") = ""
            e.Book.Marks("物料名称+30") = ""
            e.Book.Marks("成品形式+30") = ""
            e.Book.Marks("数量+30") = ""
            e.Book.Marks("宽度+30") = ""
            e.Book.Marks("重量+30") = ""
        End If
        If 60 + Vars("row_count") < t.Rows.Count
            Dim r1 As Row = t.Rows(60 + Vars("row_count"))
            e.Book.Marks("出码+60") = r1("出码")
            e.Book.Marks("物料编码+60") = r1("物料编码")
            e.Book.Marks("物料名称+60") = r1("物料名称")
            e.Book.Marks("成品形式+60") = r1("成品形式")
            e.Book.Marks("数量+60") = r1("数量")
            e.Book.Marks("宽度+60") = r1("宽度")
            e.Book.Marks("重量+60") = r1("重量")
        Else
             e.Book.Marks("出码+60") = ""
            e.Book.Marks("物料编码+60") = ""
            e.Book.Marks("物料名称+60") = ""
            e.Book.Marks("成品形式+60") = ""
            e.Book.Marks("数量+60") = ""
            e.Book.Marks("宽度+60") = ""
            e.Book.Marks("重量+60") = ""
        End If
        Vars("row_count") += 1
End Select

 

谢谢您


--  作者:小猪鑫鑫
--  发布时间:2012/12/15 16:07:00
--  

LIN SIR: 我不明白,为什么商业版式的又有31号,而开发版的又没有31号的