历史版本2 :日历表 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 概述编辑
1.1 版本
报表服务器版本 |
---|
10.0 |
1.2 预期效果
实现每个月的日历,并可以通过点击切换上下月。
1.3 实现思路
1)获取当月第一天所在周的第一天,获得当月最后一天所在周的最后一天,使用range()公式生成这两个日期之间的所有日期。
2)通过动态参数实现月份切换
2. 操作步骤编辑
1)报表设计如下
A2单元格填入公式:[1,2,3,4,5,6,0]
A3单元格填入公式:GREPARRAY(range(dateinweek(dateinmonth($rq, 1), 1), dateinweek(dateinmonth($rq, -1), -1)), weekday(item) = A2)
A2单元格设置横向扩展,A3设置纵向扩展
2)A1单元格设置三个条件属性
当A2=4时,新值为公式类型:left($rq,7)
当A2=1时,新值为字符串<,使用超级链接-动态参数,参数为rq,值为公式类型:monthdelta($rq,-1)
当A2=时,新值为字符串>,使用超级链接-动态参数,参数为rq,值为公式类型:monthdelta($rq,1)
3)A2单元格设置形态>数据字典>自定义
4)A3单元格设置形态>公式 day($$$)
5)A3单元格设置两个条件属性>颜色
当日期是周末时,字体红色
当日期不属于当月时,字体灰色
6)设置模板>模板参数
参数名为rq,值为公式today()
保存预览,效果如下
PC端效果:如预期效果图
移动端效果:
3. 模板下载编辑
4. 注意事项编辑
有些系统使用dateinweek()函数获取到的第一天是周日的日期。这时只需要把A2单元格的公式改为[0,1,2,3,4,5,]