以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]专业报表打开文件  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=119727)

--  作者:zcgmxf
--  发布时间:2018/5/30 20:36:00
--  [求助]专业报表打开文件
老师,是否可以用专业报表打开Word (.doc)文档?如何打开?谢谢!
--  作者:有点甜
--  发布时间:2018/5/30 21:06:00
--  
不可以,专业报表就是只能显示提供打印而已,不能做其他操作。
--  作者:zcgmxf
--  发布时间:2018/6/16 9:26:00
--  
老师,我用Word模板,打印时要20秒左右才有反应,以前还好,现在很慢。客户反应强烈,找了些办法无法解决。我想用专业报表打印,但是一时半会做不好。我想达到该模板的效果,请帮忙修改代码。用的宽231.1毫米,高139.7毫米的多孔打印纸。
特急特急哦。谢谢!

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


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20180616092500.png
图片点击可在新窗口打开查看






[此贴子已经被作者于2018/6/16 9:29:25编辑过]

--  作者:有点蓝
--  发布时间:2018/6/16 9:48:00
--  
Dim doc As New Printdoc
Dim rx As prt.RenderText
Dim rt As prt.RenderTable

rx = New prt.RenderText
rx.Style.FontSize = 14
rx.Style.FontBold = True
rx.Style.Spacing.Bottom = 3
rx.Style.TextAlignVert = prt.AlignVertEnum.Center
rx.Style.WordWrap = True
rx.Text = "常德市鼎城区疾病预防控制中心一类疫苗调拨暨运输记录"     \'  & Tables("类别").Current("类别名称")
rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中
doc.Body.Children.Add(rx)

rt = New prt.RenderTable
rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center
rt.Style.TextAlignVert = prt.AlignVertEnum.Center
rt.Style.GridLines.All = New prt.Linedef
rt.Rows.Count = 18
rt.Cols(0).Width = 13
rt.Cols(1).Width = 17
rt.Cols(2).Width = 12
rt.Cols(3).Width = 7
rt.Cols(4).Width = 6
rt.Cols(5).Width = 8
rt.Cols(6).Width = 10
rt.Cols(7).Width = 5
rt.Cols(8).Width = 7
rt.Cols(9).Width = 7
rt.Cols(10).Width = 8
rt.Cells(1,0).Text = "药品名称"
rt.Cells(1,1).Text = "药品生产厂家"
rt.Cells(1,2).Text = "批准文号"
rt.Cells(1,3).Text = "规格"
rt.Cells(1,4).Text = "剂型"
rt.Cells(1,5).Text = "药品批号"
rt.Cells(1,6).Text = "药品有效期"
rt.Cells(1,7).Text = "单位"
rt.Cells(1,8).Text = "单价"
rt.Cells(1,9).Text = "数量"
rt.Cells(1,10).Text = "金额"
rt.rows(0).Style.Borders.Top = New prt.LineDef(0.5,Color.LightGray)
rt.rows(0).Style.Borders.Bottom = New prt.LineDef(0.5,Color.LightGray)

Dim r1 As Row = Tables("一类疫苗入库单").Current
rt.Cells(0,0).Text = "供货单位:" & r1("供货单位")
rt.Cells(0,0).SpanCols = 3
rt.Cells(0,3).Text = "入库单编号:" & r1("入库单编号")
rt.Cells(0,3).SpanCols = 4
rt.Cells(0,7).Text = "日期:" & r1("日期")
rt.Cells(0,7).SpanCols = 4

With Tables("一类疫苗入库单.一类疫苗入库表")
    For r As Integer = 2 To .Rows.Count - 1 \'遍历关联表每一行
        rt.Cells(r,0).Text = .rows(r)("药品名称")
        rt.Cells(r,1).Text = .rows(r)("药品生产厂家")
        rt.Cells(r,2).Text = .rows(r)("批准文号")
        rt.Cells(r,3).Text = .rows(r)("规格")
        rt.Cells(r,4).Text = .rows(r)("剂型")
        rt.Cells(r,5).Text = "药品批号"
        rt.Cells(r,6).Text = "药品有效期"
        rt.Cells(r,7).Text = "单位"
        rt.Cells(r,8).Text = "单价"
        rt.Cells(r,9).Text = "数量"
        rt.Cells(r,10).Text = "金额"
    Next
End With

rx = New prt.RenderText
rx.Style.FontBold = True
rx.Style.Spacing.Top = 1
\' rx.Text = "产品数目: " & Tables("类别.产品").Rows.Count
\' rx.Style.TextAlignHorz = prt.AlignHorzEnum.Right
doc.Body.Children.Add(rx)
doc.PageSetting.Width = 231.1 \'纸张宽度为100毫米
doc.PageSetting.Height = 139.7 \'纸张高度为120毫米
doc.AutoRotate = False
doc.PageSetting.BottomMargin = 5
doc.PageSetting.Landscape = True
doc.PageSetting.LeftMargin = 12.7
doc.PageSetting.PaperKind = 11
doc.PageSetting.RightMargin = 12.7
doc.PageSetting.TopMargin = 0.8
doc.Body.Children.Add(rt)

doc.Preview
[此贴子已经被作者于2018/6/16 9:48:36编辑过]

--  作者:zcgmxf
--  发布时间:2018/6/16 10:34:00
--  
老师,放假都没休息,辛苦了。还有那下面的几行,要合并单元格的,哈请您帮忙一下,我有好多个这样的模板,学会一个,其他的自己再去琢磨。谢谢!
用专业报表真的爽。
[此贴子已经被作者于2018/6/16 10:34:27编辑过]

--  作者:有点蓝
--  发布时间:2018/6/16 10:57:00
--  
合并单元格参考这段代码

Dim r1 As Row = Tables("一类疫苗入库单").Current
rt.Cells(0,0).Text = "供货单位:" & r1("供货单位")
rt.Cells(0,0).SpanCols = 3
rt.Cells(0,3).Text = "入库单编号:" & r1("入库单编号")
rt.Cells(0,3).SpanCols = 4
rt.Cells(0,7).Text = "日期:" & r1("日期")
rt.Cells(0,7).SpanCols = 4


--  作者:zcgmxf
--  发布时间:2018/6/17 9:12:00
--  
老师好!现在有两个问题:
1、是否可以用一行代码设置某一行的边框?
2、如何设置某一行或某一列的字体,我设置的怎么在外面没有在单元格里面?
谢谢!

字体问题已解决
[此贴子已经被作者于2018/6/17 9:19:12编辑过]

--  作者:有点甜
--  发布时间:2018/6/17 14:59:00
--  

参考

 

http://www.foxtable.com/webhelp/scr/1206.htm

 

http://www.foxtable.com/webhelp/scr/1207.htm

 


--  作者:zcgmxf
--  发布时间:2018/6/19 11:18:00
--  
老师,有三个问题请教:
1、下面的打印代码我刚刚还可以直接打印的,只 修改了一下页边距8  -7 重新发布后不能直接打印了,但是预览没问题,用预览页面也不打印。
     显示   开始打印   后就退出了。
     If dyj.Text = "Microsoft XPS Document Writer" OrElse dyj.Text = "Fax" Then
         PopMessage("选择打印机错误!","提示",PopIconEnum.Error,2)
         Return
     Else
         Doc.PrinterName = "dyj.Text"    ‘ 指定打印机’
         doc.Print()
     End If

2、时段列的时段在专业报表的单元格中又 成了秒数,如何转换成小时数或者 “1:30“就是一小时三十分这种格式?
  
3、只打印一份,出来一份空白的,不知为什么。
 谢谢!
[此贴子已经被作者于2018/6/19 11:29:03编辑过]

--  作者:有点甜
--  发布时间:2018/6/19 11:28:00
--  

1、改成

 

Doc.PrinterName = dyj.Text    \' 指定打印机

 

2、改成

 

Dim ts As Integer = 3601
Dim tp As New TimeSpan(0,0,0,ts)
Dim str As String = tp.Hours & ":" & tp.Minutes & ":" & tp.Seconds
msgbox(str)