以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 专业报表数字千位符显示 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=137234) |
-- 作者:fubblyc -- 发布时间:2019/7/1 15:32:00 -- 专业报表数字千位符显示 老师,FT的表格里有千位符, 那做的报表没有这样显示,要怎么处理呢?
|
-- 作者:有点甜 -- 发布时间:2019/7/1 16:08:00 -- 1、如果是excel、word等报表
http://www.foxtable.com/webhelp/topics/2884.htm
2、如果是专业报表等,你赋值的时候,直接处理即可 |
-- 作者:yd0731 -- 发布时间:2019/7/1 16:11:00 -- 如果是在table里面呢,使用format进行格式化,好像不起作用 |
-- 作者:fubblyc -- 发布时间:2019/7/1 16:21:00 -- 2、如果是专业报表等,你赋值的时候,直接处理即可 老师,是专业报表,要怎么直接处理呢?
For c As Integer = 0 To ColNames.Length - 1 \'逐列设置和填入内容 rt.Cells(0,c).Text = ColNames(c) \'列名作为标题 rt.Cells(0,c).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'标题内容水平居中 rt.Cols(c).Width = tb.Cols(ColNames(c)).PrintWidth \'列宽等于实际列宽 If tb.Cols(ColNames(c)).IsNumeric OrElse tb.Cols(ColNames(c)).IsDate Then \'如果是数值或日期列 rt.Cols(c).Style.TextAlignHorz = prt.AlignHorzEnum.Right \'数据水平靠右 End If For r As Integer = 0 To tb.Rows.Count -1 \'开始填入该列内容 If tb.Rows(r)(ColNames(c)) <> "0" Then rt.Cells(r + 1, c).Text = tb.Rows(r)(ColNames(c)) 是在这里处理吗?怎么加呢? End If If tb.Rows(r)("项目").StartsWith("一") Or tb.Rows(r)("项目").StartsWith("二") Or tb.Rows(r)("项目").StartsWith("三") Or tb.Rows(r)("项目").StartsWith("四") Then rt.Cells(r + 1, c).Style.BackColor = Color.LightGray rt.Cells(r + 1, c).Style.FontBold = True End If Next Next |
-- 作者:有点甜 -- 发布时间:2019/7/1 16:33:00 -- 以下是引用yd0731在2019/7/1 16:11:00的发言:
如果是在table里面呢,使用format进行格式化,好像不起作用
http://www.foxtable.com/webhelp/topics/2046.htm
|
-- 作者:有点甜 -- 发布时间:2019/7/1 16:34:00 -- 以下是引用fubblyc在2019/7/1 16:21:00的发言:
2、如果是专业报表等,你赋值的时候,直接处理即可 老师,是专业报表,要怎么直接处理呢? For c As Integer = 0 To ColNames.Length - 1 \'逐列设置和填入内容
rt.Cells(0,c).Text = ColNames(c) \'列名作为标题
rt.Cells(0,c).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'标题内容水平居中
rt.Cols(c).Width = tb.Cols(ColNames(c)).PrintWidth \'列宽等于实际列宽
If tb.Cols(ColNames(c)).IsNumeric OrElse tb.Cols(ColNames(c)).IsDate Then \'如果是数值或日期列
rt.Cols(c).Style.TextAlignHorz = prt.AlignHorzEnum.Right \'数据水平靠右
End If
For r As Integer = 0 To tb.Rows.Count -1 \'开始填入该列内容
If tb.Rows(r)(ColNames(c)) <> "0" Then
rt.Cells(r + 1, c).Text = tb.Rows(r)(ColNames(c)) 是在这里处理吗?怎么加呢?
End If
If tb.Rows(r)("项目").StartsWith("一") Or tb.Rows(r)("项目").StartsWith("二") Or tb.Rows(r)("项目").StartsWith("三") Or tb.Rows(r)("项目").StartsWith("四") Then
rt.Cells(r + 1, c).Style.BackColor = Color.LightGray
rt.Cells(r + 1, c).Style.FontBold = True
End If
Next
Next
rt.Cells(r + 1, c).Text = Format(tb.Rows(r)(ColNames(c)), "#,###") |
-- 作者:fubblyc -- 发布时间:2019/7/2 8:04:00 -- 哎,原来是这样。 谢谢甜老师!!!!
|