workbook sheetname最大长度


  使用poi来生成excel,遇到的了一个坑。

       sheet页的名字最后面加上了业务id,肯定是不一样的。但是在创第二个sheet时就是报sheet name已存在。

       原因是我创建的sheet name的固定前缀太长了,最长不能超过32位,超过了会被自动截取为32位。

 

public boolean doesContainsSheetName(String name, int excludeSheetIdx) {
        String aName = name;
        if(name.length() > 31) {
            aName = name.substring(0, 31);
        }

        for(int i = 0; i < this.boundsheets.size(); ++i) {
            BoundSheetRecord boundSheetRecord = this.getBoundSheetRec(i);
            if(excludeSheetIdx != i) {
                String bName = boundSheetRecord.getSheetname();
                if(bName.length() > 31) {
                    bName = bName.substring(0, 31);
                }

                if(aName.equalsIgnoreCase(bName)) {
                    return true;
                }
            }
        }

        return false;
    }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM