以文本方式查看主题 - 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毫米的多孔打印纸。 特急特急哦。谢谢!
[此贴子已经被作者于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
|