反馈已提交

网络繁忙

查询某个月份的所有日期和星期

  • 文档创建者:橙子超人
  • 历史版本:8
  • 最近更新:HeroZ 于 2023-01-31
  • 1. 概述

    1.1 版本

    报表服务器版本
    功能变更
    11.0-

    1.2 预期效果

    在日期控件中选择年月,可查询到该月份下的天数和周。如下图所示:

    1572320222289639.gif

    1.3 实现思路

    • 使用 RANGE 公式和 DAYSOFMONTH 获取该月的天数,并且使用控件的值拼接起来;

    • 使用 SWITCH 和 WEEKDAY 公式获取该天是周几。

    2. 示例

    2.1 公式介绍

    公式备注
    DAYSOFMONTH($time+"01")获取日期控件的月份有多少天
    RANGE(1, DAYSOFMONTH($time + "-01"))获取日期的第一天到最后一天的日期
    $time + "-" + FORMAT(A1, "#00")将前面获取的天数和日期拼接
    SWITCH(WEEKDAY($time + "-" + FORMAT(A1, "#00")), "1", "周一", "2", "周二", "3", "周三", "4", "周四", "5", "周五", "6", "周六", "0", "周日") 用 WEEKDAY 公式获取当前天是周几,并且用 SWITCH 公式转成汉字展示

    2.2 插入公式

    在 FineReport 设计器中,点击「文件>新建普通报表」;

    1)右击 A1 单元格,选择「单元格元素>插入公式」,公式为:RANGE(1, DAYSOFMONTH($time + "-01")) 。

    2)右击 A2 单元格,选择「单元格元素>插入公式」,公式为:$time + "-" + FORMAT(A1, "#00") 。

    3)右击 A3 单元格,选择「单元格元素>插入公式」,公式为:SWITCH(WEEKDAY($time + "-" + FORMAT(A1, "#00")), "1", "周一", "2", "周二", "3", "周三", "4", "周四", "5", "周五", "6", "周六", "0", "周日")

    将单元格内容居中显示,并为这三个单元格加上边框(边框自定义)。下图为 A1 单元格输入公式的步骤,A2A3 单元格输入公式的步骤与之相同。如下图所示:

    1572316696764708.png

    2.3 单元格属性

    A1、A2、A3 单元格内容居中显示,并加上边框(边框自定义)。

    左键选中 A1 单元格,在右侧属性面板中选择「单元格属性>扩展」,扩展方向选择「横向」扩展。如下图所示:

    2.4 日期控件

    进入该模板的参数面板,向参数面板中拖入「日期控件」和「查询按钮」;

    「日期控件」的控件名称为 time ,控件值为 2019/10/01,格式选择 yyyy-MM 。如下图所示:

    1572319880196708.png

    2.5 效果查看

    保存模板,点击「填报预览」,效果如本文 1.2 节所示。

    注:该方法不支持移动端。

    注:表头下面不能放字符,否则分页会有错行的情况。

    3. 模板下载

    已完成的模板,请参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Primary\FreeReport\根据年月查询月份的天和周.cpt

    点击下载模板:根据年月查询月份的天和周.cpt

    附件列表


    主题: 参数应用
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持