以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何生成考核表  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=53432)

--  作者:34772849
--  发布时间:2014/7/7 21:09:00
--  如何生成考核表

想生成如附件所示的考核表,应如何实现?用EXCEL报表,还是要用专业报表?

[此贴子已经被作者于2014-7-9 19:32:40编辑过]

--  作者:34772849
--  发布时间:2014/7/7 22:45:00
--  

Dim doc As New PrintDoc  \'定义一个报表
Dim rt As New prt.RenderTable() \'定义一个表格对象
doc.Body.Children.Add(rt) \'将表格对象加入到报表中
rt.Style.GridLines.All = New prt.Linedef  \'设置网格线
rt.CellStyle.Spacing.All = 1 \'内容距离网格线1毫米
\'设置主标题
rt.Cells(0,0).text = "长治北车站领导干部安全责任制月度考核表"
rt.Cells(0,0).SpanCols = 10 \'合并第一行全部单元格,用于显示主标题
rt.Cells(0,0).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'主标题居中
rt.Cells(0,0).Style.Font = New Font("宋体", 18, FontStyle.Bold) \'设置主标题字体
rt.Rows(0).Style.Borders.All = New prt.LineDef("0mm", Color.white) \'去掉第一行的网格线
\'设置副标题
rt.Cells(1,0).text = "姓名:连继武            职务:副站长            包保单位:高平,南陈铺,北 板桥            2014年6月28日" \'通过左边空格数量来调整副标题位置
rt.Cells(1,0).SpanCols = 10 \'合并地二行全部单元格,用于显示副标题
rt.Cells(1,0).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'副标题内容居中
rt.Rows(1).Style.Borders.All = New prt.LineDef("0mm", Color.white) \'去掉第二行的网格线
rt.Rows(1).Style.Borders.Bottom = New prt.Linedef  \'恢复第二行底端的网格线
rt.Rows(1).Height = 8 \'设置第二行的高度,拉开和表格主体的距离.
\'设置列标题
rt.Cols(0).Width = 15
rt.Cols(1).Width = 15
rt.Cols(8).Width = 30
rt.Cols(9).Width = 15

Doc.PageSetting.LeftMargin = 20 \'设置左边距
Doc.PageSetting.RightMargin = 20 \'设置右边距
Doc.PageSetting.TopMargin = 20 \'设置上边距
Doc.PageSetting.BottomMargin = 20 \'设置下边距


rt.cells(2,2).SpanCols = 6
rt.cells(2,0).Text = "考核项目"  \'设置第一行第一个单元格的内容
rt.Cells(2,1).Text = "序号"  \'设置第一行第四个单元格的内容
rt.Cells(2,2).Text= "考核内容"
rt.Cells(2,8).Text = "扣分标准"
rt.Cells(2,9).Text = "扣分"
rt.Cells(3,0).SpanRows = 15 \'第1行第5个单元格向下合并6行
rt.Cells(3,0).Text= "履行职责"
rt.Cells(3,1).Text = "1"
rt.cells(3,2).SpanCols = 6
rt.Cells(3,2).Text = "贯彻落实上级安全要求,协助站长做好分管部门及包保单位安全工作"
rt.Cells(3,8).Text = "分管,包保单位工作出现差错扣5分"
rt.Cells(4,1).Text = "2"
rt.cells(4,2).SpanCols = 6
rt.Cells(4,2).Text = "严格落实安全生产责任制,责任追究制度和考核落实机制,督促分管部门及包保 单位抓好安全责任制的落实"
rt.Cells(4,8).Text = "未对分管部门及包保单位负责人评分考核扣3分,每少1人,扣1分"
rt.Cells(5,1).Text = "3"
rt.cells(5,2).SpanCols = 6
rt.Cells(5,2).Text = "每季度要对管内各站?车间覆盖检查一遍(每月至少要对南三站中的一个中间站 进行检查,恶劣极端天气或条件不允许情况下,可在总值班室通过视频进行监控检查)"
rt.Cells(5,8).Text = "未落实扣5分"
rt.Cells(6,1).Text = "4"
rt.cells(6,2).SpanCols = 6
rt.Cells(6,2).Text = "每季度至少参加1个所包保车间(车站)的安全分析会"
rt.Cells(6,8).Text = "没有参加扣2分"
rt.Cells(7,1).Text = "5"
rt.cells(7,2).SpanCols = 6
rt.Cells(7,2).Text = "每月下现场巡视检查不少于11天,前夜巡视,不少于1天.后半夜0-5点巡视,不少于3天,其中:"
rt.Cells(7,8).Text = "每少1天扣5分"
rt.Cells(8,1).Text = ""
rt.cells(8,2).SpanCols = 6
rt.Cells(8,2).Text = "(1)每月对所包保单位巡视检查均不得少于1次"
rt.Cells(8,8).Text = "每少1次,扣5分"
rt.Cells(9,1).Text = ""
rt.cells(9,2).SpanCols = 6
rt.Cells(9,2).Text = "(2)每两月要对所包保的单位全部进行1次后半夜巡视检查(南三站可在车站总值 班室通过监控进行检查)"
rt.Cells(9,8).Text = "每少1次,扣5分"
rt.Cells(10,1).Text = ""
rt.cells(10,2).SpanCols = 6
rt.Cells(10,2).Text = "(3)每月对东田良至西武匠之间的中间站夜巡不少于1次,每次不少于2个中间站"
rt.Cells(10,8).Text = "每少1次,扣5分"
rt.Cells(11,1).Text = "6"
rt.cells(11,2).SpanCols = 6
rt.Cells(11,2).Text = "每月发现问题,不少于3件"
rt.Cells(11,8).Text = "每少1件扣5分"
rt.Cells(12,1).Text = "7"
rt.cells(12,2).SpanCols = 6
rt.Cells(12,2).Text = "每月发现违章,违纪,不少于3件.(其中:调车作业违章违纪,不少于1件)"
rt.Cells(12,8).Text = "每少1件扣15分,少2件,扣30分,少3件,免考核"
rt.Cells(13,1).Text = "8"
rt.cells(13,2).SpanCols = 6
rt.Cells(13,2).Text = "每月接发列车检查不少于10列,其中客车不少于2列;"
rt.Cells(13,8).Text = "每少1列扣2分"
rt.Cells(14,1).Text = "9"
rt.cells(14,2).SpanCols = 6
rt.Cells(14,2).Text = "每月监控正线调车作业,不少于2次;对车辆防溜检查,不少于3次"
rt.Cells(14,8).Text = "每少1次扣1分"
rt.Cells(15,1).Text = "10"
rt.cells(15,2).SpanCols = 6
rt.Cells(15,2).Text = "每月对各专用线检查,不少于1次;对装卸作业检查,不少于1次"
rt.Cells(15,8).Text = "每少1次扣1分"
rt.Cells(16,1).Text = "11"
rt.cells(16,2).SpanCols = 6
rt.Cells(16,2).Text = "管内中间站(车间)有改变行车办法的Ⅱ级?Ⅲ级施工时,主管技术副站长应及时 到岗,主持研究施工方案?安全措施,并亲自参加施工(主管技术副站长外出时,应安排其他副站长替补)."
rt.Cells(16,8).Text = "接到参加施工通知后未及时到岗扣5分"
rt.Cells(17,1).Text = "12"
rt.cells(17,2).SpanCols = 6
rt.Cells(17,2).Text = "主管安全,技术副职每月检查不少于2个班组接发列车执行情况,每次不少于3列 ,其中旅客列车1列"
rt.Cells(17,8).Text = "未落实扣5分"
rt.RowGroups(2,1).Style.BackColor = Color.LightGray \'第三第四行的颜色设为灰色
rt.Cells(18,0).SpanRows = 4 \'第1行第5个单元格向下合并6行
rt.Cells(18,0).Text= "工作绩效"
rt.Cells(18,1).Text = "1"
rt.cells(18,2).SpanCols = 6
rt.Cells(18,2).Text = "当月包保单位发生责任一般事故,人身重伤,责任路外事故"
rt.Cells(18,8).Text = "扣减30分"
rt.Cells(19,1).Text = "2"
rt.cells(19,2).SpanCols = 6
rt.Cells(19,2).Text = "当月包保单位发生事故危机,责任设备故障,人身轻伤"
rt.Cells(19,8).Text = "扣减20分"
rt.Cells(20,1).Text = "3"
rt.cells(20,2).SpanCols = 6
rt.Cells(20,2).Text = "当月包保单位被路局对话会通报批评或收到局安监部门下发的《安全预警通知 书》"
rt.Cells(20,8).Text = "扣减5分"
rt.Cells(21,1).Text = "4"
rt.cells(21,2).SpanCols = 6
rt.Cells(21,2).Text = "当月包保单位收到局安监部门下发的《安全监察通知书》。"
rt.Cells(21,8).Text = "扣减3分"
Dim rx As New prt.RenderText
rt.Style.GridLines.All = New prt.Linedef(Color.Gray)
rt.CellStyle.Spacing.All = 1

rt.Cells(22,0).SpanRows = 30
rt.Cells(22,0).Text= "工作写实"
rt.Cells(22,1).Text = "日期"

rt.cells(22,2).SpanCols = 8

rt.Cells(22,2).Text = "时间 地点、检查内容"
rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center
rt.Cols(2).Style.TextAlignHorz = prt.AlignHorzEnum.Left

rt.Cells(23,1).Text = "[Format(Fields!jcrq.Value,""MM-dd"")]"
rt.Cells(23,2).Text ="[Format(Fields!kssj.Value,""HH:mm"")]-[Format(Fields!jssj.Value,""HH:mm"")][Fields!jcdd.Value]"
With rt.RowGroups(23,1)
    .DataBinding.DataSource = BindTables("sheet1")
    .DataBinding.Grouping.Expressions.Add("Fields!序号.Value")
End With

 Doc.Preview() \'预览报表

 

请教不同颜色的代码应如何修改,可以使同一日期的内容写在一行里?

[此贴子已经被作者于2014-7-9 19:33:03编辑过]

--  作者:Bin
--  发布时间:2014/7/8 8:38:00
--  
http://www.foxtable.com/help/topics/1207.htm