java .Tang.lleoaAroumentException: Name is too long: oneobouo60160n0004doupoDesooonsoBVoozooD2yz#ooooouaalaoro:/aF9ofoofobx(bam:Doseo'azor9uao ZaAauooat org.apache.poi.hssf.record.WriteAccessRecordne(WriteAccessRecord,java:110)at org.apache.poi.hssf.record.WriteAccessRecord.<init>(WniteAccessRecord.java:78)at org.apache.poi.hssf.record.RecordFactorycreatesingleRecord(RecordFactory,java:79)at oro .apache .poi .hssfrecord.eadNextRecord(RecordFactoryInputstream.java:289at org.apache.poi.hssf.record.RecordFactoryInputstreanextRecord(RecordFactoryInputstream.java:255)at org.apache .poi.hssf.record.RecordFactory.createRecords(RecordFactory . java:166)at org.apache.poi.hssf.usermodelava:343at org apache poi hssf usermodet HSSFWorkbookava:307injt;at org .apache poi hssf .userrsssWorkbookat org .apache poihssfuserlat com.amc.ito.biz.impl.afii importexcel.ofiiimportBizImplofiiImportBizImpl.iava:225at com.amc.itobiz.imol.gfii importexcel.ofiimportBizIrtofiiData(ofiilmoortBizImol.iava:71mportofiiData(ofiiImportcontroller.java:43) <14 internal lines>at com.amc.ito.controller .gfiiimportexcel.ofiiimportcat iavax.servlet .http .Httpservlet .serviinternalline>at iavaxservlet.httpinternal lines>u+tnserehu3at org .springframework.boot actuatecsFilter.doFilterInternal(WebHycM<23 internal lines>
时间: 2023-11-14 18:05:08 浏览: 147
根据提供的错误信息和堆栈跟踪,可以看出问题出现在 `org.apache.poi.hssf.record.WriteAccessRecord` 类的构造方法 `WriteAccessRecord` 中。该方法抛出了 `IllegalArgumentException` 异常,表示名称过长。
通常情况下,如果您无法修改库的源代码,可以尝试以下解决方法:
1. 确保用户名的长度符合 `WriteAccessRecord` 类的限制。根据堆栈跟踪中的信息,名称长度似乎超过了限制。
2. 检查您提供的用户名是否正确,确保没有任何错误或特殊字符。
3. 如果可能,尝试缩短用户名的长度,确保它不超过限制。
4. 如果问题仍然存在,请确保您使用的是最新版本的 Apache POI 库,可能已经修复了该问题。尝试升级库的版本并重新测试。
如果以上方法都无法解决问题,可能需要与 Apache POI 社区或相关团队联系,寻求更深入的帮助和支持。
请注意,这只是根据提供的信息给出的一般建议。具体解决方法可能需要更多的上下文信息和调试。如果还有其他问题,请提供更多信息,以便更好地帮助您解决问题。
相关问题
java语言 写出符合http://www.youtube.com/channel/UC2bAM0wL2kZk7Mh9lFwGdVw格式的正则 表达式
符合YouTube频道链接格式的Java正则表达式如下:
```java
String regex = "^https?://(?:www\\.)?youtube\\.com/channel/\\w+$";
```
解释一下:
- `^` 表示字符串的开头
- `https?://` 表示匹配 `http://` 或 `https://`
- `(?:www\\.)?` 表示可选的 `www.` 子域名
- `youtube\\.com/channel/` 表示固定的域名和路径
- `\\w+` 表示一个或多个单词字符,即频道ID
- `$` 表示字符串的结尾
注意,这个正则表达式假设频道ID只包含单词字符(字母、数字和下划线)。如果需要支持其他字符,可以修改 `\w` 部分。
java语言 写出符合http://www.youtube.com/channel/UC2bAM0wL2kZk7Mh9lFwGdVw 以及https://www.youtube.com/@ds7023格式的正则 表达式
符合YouTube频道链接格式的Java正则表达式如下:
```java
String regex1 = "^https?://(?:www\\.)?youtube\\.com/channel/\\w+$";
String regex2 = "^https?://(?:www\\.)?youtube\\.com/@\\w+$";
```
解释一下:
- `^` 表示字符串的开头
- `https?://` 表示匹配 `http://` 或 `https://`
- `(?:www\\.)?` 表示可选的 `www.` 子域名
- `youtube\\.com/channel/` 表示固定的域名和路径(用于第一个链接)
- `youtube\\.com/@` 表示固定的域名和路径(用于第二个链接)
- `\\w+` 表示一个或多个单词字符,即频道ID(用于第一个链接)或用户名(用于第二个链接)
- `$` 表示字符串的结尾
注意,第二个链接的正则表达式假设用户名只包含单词字符(字母、数字和下划线)。如果需要支持其他字符,可以修改 `\w` 部分。
阅读全文