以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 动态打印调用 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=104912) |
|
-- 作者:nbsugu_z -- 发布时间:2017/8/8 13:40:00 -- 动态打印调用 模板名为:测试 工作表A中有 单位列 和月份列(月份是字符型)等 现在要达到动态模板打印条件为同时满足所有记录:相同单位 同一月份记录打印,又如A单位7月份所有记录打印 B单位5月份所有记录打印 如何修改下面代码。测试了多次不成功。要求能出现对话框,供我输入月份、单位 生成打印文件 Dim Book As New XLS.Book(ProjectPath & "Attachments\\测试.xls") Dim fl As String = ProjectPath & "Reports\\测试.xls" Book.Build() \'生成细节区 Book.Save(fl) \'保存工作簿 Dim Proc As New Process \'打开工作簿 Proc.File = fl Proc.Start()
|
|
-- 作者:有点甜 -- 发布时间:2017/8/8 14:18:00 -- Dim str As String = "A单位,8月" If InputValue(str, "提示", "请输入:") Then Dim ary() As String = str.split(",") If ary.length = 2 Then Tables("表A").Filter = "第一列 = \'" & ary(0) & "\' and 第二列 = \'" & ary(1) & "\'" Dim Book As New XLS.Book(ProjectPath & "Attachments\\测试.xls") Dim fl As String = ProjectPath & "Reports\\测试.xls" Book.Build() \'生成细节区 Book.Save(fl) \'保存工作簿 Dim Proc As New Process \'打开工作簿 Proc.File = fl Proc.Start() End If End If |
|
-- 作者:nbsugu_z -- 发布时间:2017/8/8 14:33:00 -- .NET Framework 版本:2.0.50727.8689 Foxtable 版本:2017.8.3.1 错误所在事件:窗口,main,TreeView1,NodeMouseClick 详细错误信息: 打开存储文件失败。 |
|
-- 作者:有点甜 -- 发布时间:2017/8/8 14:35:00 -- 说明你没有对应的文件【Attachments\\测试.xls】,注意后缀名是不是xlsx。
或者做个例子发上来测试下。 |
|
-- 作者:nbsugu_z -- 发布时间:2017/8/8 14:48:00 -- Dim str As String = "A单位,8月" Dim fl As String = ProjectPath
&
"Reports\\测试.xls" 就是Sheet(3,9).Value = "<日期 = # " & Date.Today & "#>" 这行代码如何改写同时满足月份和单位,因为表A中月份和单位不是放在第一列和第二列的。 |
|
-- 作者:有点甜 -- 发布时间:2017/8/8 14:52:00 -- Dim str As String = "A单位,8月" If InputValue(str, "提示", "请输入:") Then Dim ary() As String = str.split(",") If ary.length = 2 Then Dim Book As New XLS.Book(ProjectPath & "Attachments\\测试.xls") \'打开模板 Dim fl As String = ProjectPath & "Reports\\测试.xls" Dim Sheet As XLS.Sheet = Book.Sheets(0) Sheet(3,9).Value = "<单位 = \'" & ary(0) & "\' and 月份 = \'" & ary(1) & "\'>" \'写入打印条件 Book.Build() \'生成报表 Book.Save(fl) Dim Proc As New Process Proc.File = fl Proc.Start() End If End If |
|
-- 作者:nbsugu_z -- 发布时间:2017/8/8 14:56:00 --
|
|
-- 作者:有点甜 -- 发布时间:2017/8/8 14:59:00 -- 认认真真看6楼。不会做上传具体实例。 |
|
-- 作者:nbsugu_z -- 发布时间:2017/8/8 15:08:00 -- 解决了,只是对话框很不方便 |
|
-- 作者:有点甜 -- 发布时间:2017/8/8 15:09:00 -- 以下是引用nbsugu_z在2017/8/8 15:08:00的发言:
解决了,只是对话框很不方便
那你可以单独做一个窗口,提供单位、月份选择,最后合成条件,生成报表。
具体问题做例子发上来。 |