以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- EXCEL模板打印 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=146844) |
||||
-- 作者:johnfelton -- 发布时间:2020/3/4 7:27:00 -- EXCEL模板打印 我用EXCEL模板设计打印厂检单的时候,希望能做到如果某个指标没有数据,生成EXCEL表的时候,自动删除这一行,代码应该怎么写?比如: 外观:无色液体 含量:99%以上 比重: 希望EXCEL表生成的时候,自动把比重这一行整个删除。 非常感谢! |
||||
-- 作者:有点蓝 -- 发布时间:2020/3/4 8:32:00 -- 模板文件发上来看看 |
||||
-- 作者:johnfelton -- 发布时间:2020/3/4 12:31:00 -- 蓝老师,抱歉,文件不方便发,全是公司数据。 打印厂检单的对应表是“COA",表结构见附件。 我打印模块用的代码如下:
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 -- 发布时间:2020/3/4 12:34:00 --
附件是目前打印出来的效果。希望做的是下面几行空白的,能自动删除掉。 谢谢!
|
||||
-- 作者:johnfelton -- 发布时间:2020/3/4 12:42:00 -- 我前面的做法是EXCEL表生成后,把空白行手动删除再打印的 |
||||
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间:2020/3/4 14:40:00 -- 非常感谢老师,问题解决! |