Java 在Excel导出中显示标记格式编号

Java 在Excel导出中显示标记格式编号,java,export-to-excel,displaytag,Java,Export To Excel,Displaytag,我对DisplayTag及其Excel导出有点问题。我有一个表,其中的列包含以0开头的字符串,例如电话号码或pin码 当我试图将它们导出到Excel文件时,Excel将它们视为一个数字,并删除前导零。。。(0012变为12) 我的配置如下 export.excel.class = org.displaytag.export.ExcelView 我已经添加了一个decorator(见下文),在我通过Excel导出时添加=“MYSTRING”,但我不太喜欢这个解决方案,因为您可以看到Excel文件

我对DisplayTag及其Excel导出有点问题。我有一个表,其中的列包含以0开头的字符串,例如电话号码或pin码

当我试图将它们导出到Excel文件时,Excel将它们视为一个数字,并删除前导零。。。(0012变为12)

我的配置如下

export.excel.class = org.displaytag.export.ExcelView
我已经添加了一个decorator(见下文),在我通过Excel导出时添加=“MYSTRING”,但我不太喜欢这个解决方案,因为您可以看到Excel文件的诀窍

public class QuotedExportDecorator implements DisplaytagColumnDecorator {

    @Override
    public Object decorate(Object value, PageContext pageContext, MediaTypeEnum media) {
        if (media.equals(MediaTypeEnum.EXCEL)) {
            value = "=\"" + value + "\"";
        }
        return value;
    }
}

有没有其他解决这个问题的方法?

您可能正在将arraylist传递给您的显示标签,这样您就可以将所有数字的数据类型更改为string,这只是一个尝试。它肯定是一个字符串,因为整数在没有任何处理的情况下不能显示为0002。。。(在数据库中相同…)您可能正在将arraylist传递给您的显示标记,在这种情况下,您可以将所有数字的数据类型更改为字符串,这只是一种尝试。它肯定是一个字符串,因为整数在没有任何处理的情况下不能显示为0002。。。(数据库中相同…)