Java displaytag导出excel以科学格式显示数字

Java displaytag导出excel以科学格式显示数字,java,excel,displaytag,Java,Excel,Displaytag,从displaytag导出选项下载的Excel有一个联系人号码字段,我们的联系人号码范围为10到15位(一些前缀为+,其他则不是),在microsoft Excel中,联系人号码列以科学格式显示号码示例:9.20E+011,当我在寻找一种显示原样的方式时(不管是文本形式),任何关于这个问题的想法都会有所帮助 谢谢Excel经常尝试猜测此数据的最佳表示形式。因为数字是如此“庞大”,所以它采用了科学的格式。一个简单的解决办法是尝试将数字放在“引号”中。可以直接将数字放在引号中,也可以在display

从displaytag导出选项下载的Excel有一个联系人号码字段,我们的联系人号码范围为10到15位(一些前缀为
+
,其他则不是),在microsoft Excel中,联系人号码列以科学格式显示号码示例:
9.20E+011
,当我在寻找一种显示原样的方式时(不管是文本形式),任何关于这个问题的想法都会有所帮助


谢谢

Excel经常尝试猜测此数据的最佳表示形式。因为数字是如此“庞大”,所以它采用了科学的格式。一个简单的解决办法是尝试将数字放在“引号”中。可以直接将数字放在引号中,也可以在displaytag中寻址之前将数字转换为字符串

一个更复杂的解决方案可能是使用表装饰器进行导出,请参见。 在那里,您可以为excel导出定义自己的
TableDecorator
实现,对于联系人号码,您可以定义使用
HSSFRichTextString
强制excel将号码解释为非数字

<display:table name="test" export="true" decorator="org.displaytag.sample.ModelTableDecorator" >
    <display:setProperty name="decorator.media.excel" value="org.displaytag.sample.decorators.HssfTotalWrapper" />
...
</...>

...
您可以在src文件中找到这些装饰器的示例