Jasper reports 将编号替换为月份名称

Jasper reports 将编号替换为月份名称,jasper-reports,Jasper Reports,我有一种包含数字的数据 1,2,3,4,5,6,7,8,9,10,11,12,表示月份 我想更改它,以便在预览报告时显示它 January February March April May June July August November December 我尝试过使用replace() 当我运行它时,它不工作 有什么建议吗?这会解决你的问题。我在这里所做的是将源字符串拆分为string的ArrayList,然后使用switch case将相应月份的名称连接到显示为输出的新字符串 imp

我有一种包含数字的数据

1,2,3,4,5,6,7,8,9,10,11,12,
表示月份

我想更改它,以便在预览报告时显示它

January
February
March
April 
May
June
July
August
November
December 
我尝试过使用
replace()

当我运行它时,它不工作


有什么建议吗?

这会解决你的问题。我在这里所做的是将源字符串拆分为
string
ArrayList
,然后使用
switch case
将相应月份的名称连接到显示为输出的新字符串

import java.util.*;

class abc
{
    public static void main (String[] args)
    {
        String str = "1,2,3,4,5,6,7,8,9,10,11,12,";
        String res = "";
        List<String> list = new ArrayList<String>(Arrays.asList(str.split(",")));
        for (String s : list)
        {
            switch (s)
            {
                case "1":
                    res += "January\n";
                    break;
                case "2":
                    res += "February\n";
                    break;
                case "3":
                    res += "March\n";
                    break;
                case "4":
                    res += "April\n";
                    break;
                case "5":
                    res += "May\n";
                    break;
                case "6":
                    res += "June\n";
                    break;
                case "7":
                    res += "July\n";
                    break;
                case "8":
                    res += "August\n";
                    break;
                case "9":
                    res += "September\n";
                    break;
                case "10":
                    res += "October\n";
                    break;
                case "11":
                    res += "November\n";
                    break;
                case "12":
                    res += "December\n";
                    break;
                default:
                    System.err.println("Invalid output");
            }
        }
        System.out.println(res);
    }
}
import java.util.*;
abc班
{
公共静态void main(字符串[]args)
{
字符串str=“1,2,3,4,5,6,7,8,9,10,11,12”;
字符串res=“”;
List List=newarraylist(Arrays.asList(str.split(“,”));
用于(字符串s:列表)
{
开关
{
案例“1”:
res+=“一月\n”;
打破
案例“2”:
res+=“二月\n”;
打破
案例“3”:
res+=“三月\n”;
打破
案例“4”:
res+=“四月\n”;
打破
案例“5”:
res+=“可能”\n;
打破
案例“6”:
res+=“六月\n”;
打破
案例“7”:
res+=“七月\n”;
打破
案例“8”:
res+=“八月\n”;
打破
案例“9”:
res+=“九月\n”;
打破
案例“10”:
res+=“十月\n”;
打破
案例“11”:
res+=“11月\n”;
打破
案例“12”:
res+=“12月\n”;
打破
违约:
System.err.println(“无效输出”);
}
}
系统输出打印项次(res);
}
}

您可以使用文本字段表达式,用字段名替换
$V{Month}

<textfieldexpression class="java.lang.String">
    (
        $V{Month}.equals("1") ? "January" : 
        $V{Month}.equals("2") ? "February" :
        $V{Month}.equals("3") ? "March" :
        $V{Month}.equals("4") ? "April" :
        $V{Month}.equals("5") ? "May" :
        $V{Month}.equals("6") ? "June" :
        $V{Month}.equals("7") ? "July" :
        $V{Month}.equals("8") ? "August" :
        $V{Month}.equals("9") ? "September" :
        $V{Month}.equals("10") ? "October" : 
        $V{Month}.equals("11") ? "November" : "December"
    )
</textfieldexpression>

(
$V{Month}.等于(“1”)?“一月”:
$V{Month}.等于(“2”)?“二月”:
$V{Month}.等于(“3”)?“March”:
$V{Month}.等于(“4”)?“April”:
$V{Month}.等于(“5”)?“May”:
$V{Month}.等于(“6”)?“June”:
$V{Month}.等于(“7”)?“July”:
$V{Month}.等于(“8”)?“八月”:
$V{Month}.等于(“9”)?“9月”:
$V{Month}等于(“10”)?“十月”:
$V{Month}.等于(“11”)?“11月”:“12月”
)

您使用的是什么语言?请发布您尝试过的相关代码。它是java。我通过表达式Editoris edit.replace()输入字符串或列表???@CrakC我尝试过。replace(“CO”,“Complete”)@SalmaSulthanah plz向我们显示字段jrxml代码。您可以使用文本字段表达式来执行此操作。问题是关于JasperReports的。您的答案不适用(不使用Scriptlet)
<textfieldexpression class="java.lang.String">
    (
        $V{Month}.equals("1") ? "January" : 
        $V{Month}.equals("2") ? "February" :
        $V{Month}.equals("3") ? "March" :
        $V{Month}.equals("4") ? "April" :
        $V{Month}.equals("5") ? "May" :
        $V{Month}.equals("6") ? "June" :
        $V{Month}.equals("7") ? "July" :
        $V{Month}.equals("8") ? "August" :
        $V{Month}.equals("9") ? "September" :
        $V{Month}.equals("10") ? "October" : 
        $V{Month}.equals("11") ? "November" : "December"
    )
</textfieldexpression>