繁体   English   中英

JSTL将数字导出为Excel文本

[英]JSTL export number as text to excel

您好,我目前正在使用JSTL将字符串列表导出到Excel

我正在循环浏览要导出的值列表,即使当我在excel页面上有类似“ 001”的值时将这些值定义为String时,我也会得到“ 1”,同一列表也包含类似“ XXX”的值,因此我认为excel会很聪明,知道我有一个字符串列表而不是数字。

我的第一个解决方法是为每个值添加尾随空格,但这并不是一个很好的解决方案。

告诉excel我的列表是由字符串组成并按列表导出值的最佳方法是什么?

这是我目前正在做的事情的一个示例:

我找到了一个可行的解决方案,实际上可以通过CSS格式化excel单元格,就我而言,向感兴趣的TD添加具有以下格式的CSS类就足够了

<style type="text/css">
    .excel_data_value_string{   
    mso-number-format:"\@";
}
</style>

<c:forEach var="object" items="${objectList}">
    <td class="excel_data_value_string">
        <c:out value="${object.value}"/>
    </td>
</c:forEach>

它指定将列视为字符串,对于那些感兴趣的人,还有许多其他格式化输出的方式:

使用MSO编号格式设置Excel单元格的样式

mso-number-format:"0"                       //NO Decimals
mso-number-format:"0\.000"                  //3 Decimals
mso-number-format:"\#\,\#\#0\.000"          //Comma with 3 dec
mso-number-format:"mm\/dd\/yy"              //Date7
mso-number-format:"mmmm\ d\,\ yyyy"         //Date9
mso-number-format:"m\/d\/yy\ h\:mm\ AM\/PM" //D -T AMPM
mso-number-format:"Short Date"              //01/03/1998
mso-number-format:"Medium Date"             //01-mar-98
mso-number-format:"d\-mmm\-yyyy"            //01-mar-1998
mso-number-format:"Short Time"              //5:16
mso-number-format:"Medium Time"             //5:16 am
mso-number-format:"Long Time"               //5:16:21:00
mso-number-format:"Percent"                 //Percent - two decimals
mso-number-format:"0%"                      //Percent - no decimals
mso-number-format:"0\.E+00"                 //Scientific Notation
mso-number-format:"\@"                      //Text
mso-number-format:"\#\ ???\/???"            //Fractions - up to 3 digits (312/943)
mso-number-format:"\0022£\0022\#\,\#\#0\.00"    //£12.76
mso-number-format:"\#\,\#\#0\.00_ \;\[Red\]\-\#\,\#\#0\.00\ "   //2 decimals, negative numbers in red and signed (1.56 -1.56)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM