Foxtable(狐表)用户栏目专家坐堂 → EXCEL模板打印


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

主题:EXCEL模板打印

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


加好友 发短信
等级:婴狐 帖子:15 积分:239 威望:0 精华:0 注册:2019/9/26 13:38:00
EXCEL模板打印  发帖心情 Post By:2020/3/4 7:27:00 [只看该作者]

我用EXCEL模板设计打印厂检单的时候,希望能做到如果某个指标没有数据,生成EXCEL表的时候,自动删除这一行,代码应该怎么写?比如:
外观:无色液体
含量:99%以上
比重:

希望EXCEL表生成的时候,自动把比重这一行整个删除。

非常感谢!


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111409 积分:567115 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/4 8:32:00 [只看该作者]

模板文件发上来看看

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


加好友 发短信
等级:婴狐 帖子:15 积分:239 威望:0 精华:0 注册:2019/9/26 13:38:00
  发帖心情 Post By:2020/3/4 12:31:00 [只看该作者]

蓝老师,抱歉,文件不方便发,全是公司数据。
打印厂检单的对应表是“COA",表结构见附件。
我打印模块用的代码如下:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:coa.xls

Dim Filter As String
With e.Form.Controls("ComboBox1")
    If .Value IsNot Nothing Then
        Filter = "productname = '" & .Value & "'"
    End If
End With
With Forms("销售管理").Controls("ComboBox4")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "salesinvoiceno = '" & .Value & "'"
    End If
End With
With e.Form.Controls("ComboBox2")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "salesbatchno = '" & .Value & "'"
        Tables("sales").Filter = Filter
    End If
End With
Dim book As new XLS.Book(projectpath & "attachments\COA.xlsx")
Dim fl As String = projectpath & "reports\COAtest.xlsx"
book.build()
book.save(fl)
Dim proc As new process
proc.file = fl
proc.start()

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


加好友 发短信
等级:婴狐 帖子:15 积分:239 威望:0 精华:0 注册:2019/9/26 13:38:00
  发帖心情 Post By:2020/3/4 12:34:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:coatest.xlsx
附件是目前打印出来的效果。希望做的是下面几行空白的,能自动删除掉。

谢谢!

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


加好友 发短信
等级:婴狐 帖子:15 积分:239 威望:0 精华:0 注册:2019/9/26 13:38:00
  发帖心情 Post By:2020/3/4 12:42:00 [只看该作者]

我前面的做法是EXCEL表生成后,把空白行手动删除再打印的

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111409 积分:567115 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/4 14:04:00 [只看该作者]

EXCEL表生成后,使用代码把空白行删除

……
Dim book As new XLS.Book(projectpath & "attachments\COA.xlsx")
Dim fl As String = projectpath & "reports\COAtest.xlsx"
book.build()
Dim Sheet As XLS.Sheet = Book.Sheets(0) 
For n As Integer =  19 To 11 Step -1
    If Sheet(n,1).Value = "" Then
        Sheet.Rows.RemoveAt(n)
    End If
Next
book.save(fl)

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


加好友 发短信
等级:婴狐 帖子:15 积分:239 威望:0 精华:0 注册:2019/9/26 13:38:00
  发帖心情 Post By:2020/3/4 14:40:00 [只看该作者]

非常感谢老师,问题解决!

 回到顶部