以文本方式查看主题 - 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=125960) |
-- 作者:wakai -- 发布时间:2018/10/10 15:29:00 -- Excel报表直接打印 现代码为 Dim Book As New XLS.Book(ProjectPath & "templets\\打印标签.xls") Dim r As Row = e.Form.controls("标签明细").Table.Current Dim fl As String = "打印标签1.xls" Dim Sheet As XLS.Sheet = Book.Sheets(0) Book.Build() \'生成细节区 Book.Save(fl) \'保存工作簿 Dim Proc As New Process \'打开工作簿 Proc.File = fl Proc.Start() 先生成EXCEL并打开,然后手工打印 如何实现生成EXCLE后不需要打开,并直接打印,谢谢老师
|
-- 作者:有点甜 -- 发布时间:2018/10/10 15:33:00 -- 用vba即可,参考
打印输出
预览和打印
换页打印 |
-- 作者:wakai -- 发布时间:2018/10/11 0:50:00 -- 老师,按钮下代码,在开发者未发布模式可以正常使用,发布后在本机和内网其它电脑均提示:打开文件失败! .NET Framework 版本:2.0.50727.8669 Foxtable 版本:2018.10.9.1 错误所在事件:窗口,打印标签,Button2,Click 详细错误信息: 打开存储文件失败。 请问老师什么原因 Dim Book As New XLS.Book(ProjectPath & "templets\\打印标签.xls") Dim r As Row = e.Form.controls("标签明细").Table.Current Dim fl As String = "d:\\print.xls" Dim Sheet As XLS.Sheet = Book.Sheets(0) Book.Build() \'生成细节区 Book.Save(fl) \'保存工作簿 \'Dim Proc As New Process \'打开工作簿 \'Proc.File = fl \'Proc.Start() Dim App As New MSExcel.Application Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("d:\\print.xls") Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1) Ws.PrintOut Wb.Close App.Quit
|
-- 作者:有点甜 -- 发布时间:2018/10/11 8:43:00 -- Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("d:\\print.xls")
改成
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl)
|
-- 作者:wakai -- 发布时间:2018/10/11 8:55:00 -- 老师还是一样问题,发布后提示打开存储文件失败 |
-- 作者:有点甜 -- 发布时间:2018/10/11 9:05:00 -- 改成这样呢?
Dim Book As New XLS.Book(ProjectPath & "templets\\打印标签.xls") Book.Build() \'生成细节区 Dim App As New MSExcel.Application |
-- 作者:有点甜 -- 发布时间:2018/10/11 9:10:00 -- 如果6楼还报错,就是你这句代码有问题,核对一下文件路径
Dim Book As New XLS.Book(ProjectPath & "templets\\打印标签.xls")
|
-- 作者:wakai -- 发布时间:2018/10/11 9:25:00 -- Dim Book As New XLS.Book(ProjectPath & "templets\\打印标签.xls") Dim r As Row = e.Form.controls("标签明细").Table.Current Dim fl As String = "d:\\print.xls" Dim Sheet As XLS.Sheet = Book.Sheets(0) Book.Build() \'生成细节区 Book.Save(fl) \'保存工作簿 Dim Proc As New Process \'打开工作簿 Proc.File = fl Proc.Start() 老师,经测试上面代码就出现了打开错误
|
-- 作者:有点甜 -- 发布时间:2018/10/11 9:26:00 -- 你这句代码有问题,核对一下文件路径
Dim Book As New XLS.Book(ProjectPath & "templets\\打印标签.xls") |
-- 作者:wakai -- 发布时间:2018/10/11 9:29:00 -- 文件模版和生成都没有问题,就是发布后用程序打不开文件来,不发布又可以,文件储存路径在电脑资源管理器上也能打开 |