首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache数据格式

Apache数据格式
EN

Stack Overflow用户
提问于 2014-09-11 14:28:57
回答 1查看 1.9K关注 0票数 1

我正在使用Apache构建一些excel文件,我希望确保某些单元格是"Number“类型的。

我试过以下几种方法:

代码语言:javascript
复制
    style.setDataFormat(HSSFDataFormat.getBuiltinFormat("0"));
    cell.setCellValue(Integer.valueOf(value));
    cell.setCellStyle(style);

代码语言:javascript
复制
    HSSFDataFormat format = workbook.createDataFormat();
    style.setDataFormat(format.getFormat("0"));
    cell.setCellValue(Integer.valueOf(value));
    cell.setCellStyle(style);

其中值是要以数字形式显示在单元格中的字符串。

这两种方法都有效。那么,HSSFDataFormat.getBuiltinFormat()和getFormat()之间有什么区别吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-11 16:31:42

正如您在源代码中看到的那样,函数getFormat首先使用buildinFormats:

代码语言:javascript
复制
public short getFormat( String format )
{
    ListIterator i;
    int ind;
    if (format.toUpperCase().equals("TEXT")) 
            format = "@";
      if ( !movedBuiltins )
      {
        i = builtinFormats.listIterator();
        while ( i.hasNext() )
        {
            ind = i.nextIndex();
            if ( formats.size() < ind + 1 )
            {
                formats.setSize( ind + 1 );
            }
            formats.set( ind, i.next() );
        }
        movedBuiltins = true;
    }
    i = formats.listIterator();
    while ( i.hasNext() )
    {
        ind = i.nextIndex();
        if ( format.equals( i.next() ) )
            return (short) ind;
    }
    ind = workbook.getFormat( format, true );
    if ( formats.size() <= ind )
        formats.setSize( ind + 1 );
    formats.set( ind, format );
    return (short) ind;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25790124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档