【发布时间】:2017-04-06 10:59:12
【问题描述】:
从 displaytag 导出选项下载的 Excel 有一个联系人号码字段,我们有 10 到 15 位数字的联系人号码,(有些前缀为 + 其他前缀),在 microsoft excel 中,联系人号码列显示数字在科学格式示例中:9.20E+011,我正在寻找一种按原样显示的方式(无论它是否以文本形式),任何关于这个问题的想法都会有所帮助。
谢谢
【问题讨论】:
标签: java excel displaytag
从 displaytag 导出选项下载的 Excel 有一个联系人号码字段,我们有 10 到 15 位数字的联系人号码,(有些前缀为 + 其他前缀),在 microsoft excel 中,联系人号码列显示数字在科学格式示例中:9.20E+011,我正在寻找一种按原样显示的方式(无论它是否以文本形式),任何关于这个问题的想法都会有所帮助。
谢谢
【问题讨论】:
标签: java excel displaytag
Excel 通常会尝试猜测此数据的最佳表示形式。而且因为数字是如此“巨大”,它使用科学格式。一个简单的解决方案可能是尝试将数字放入“引号”中。可以直接将它们放在引号中,也可以将数字转换为字符串,然后再在 displaytag 中寻址。
更复杂的解决方案是使用表装饰器进行导出,请参阅Tutorial。
在那里,您可以为 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 文件 displaytag-1.2-src.zip 中找到这些装饰器的示例
【讨论】: