在 Java 中,我们使用以下包以编程方式创建 Excel 文档:
org.apache.poi.hssf
如果您尝试设置工作表的名称(不是文件,而是内部 Excel 工作表),在以下情况下您将收到错误消息:
- 名称超过 31 个字符
- 该名称包含以下任意字符:/ \ * ? [ ]
但是,在创建工作表名称为的文档后:
@#$%&()+~`"':;,.|
没有错误输出,Java 中一切看起来都很好。当您在 Office 2003 中打开 Excel 文件时,它会显示一条错误消息,指出工作表名称无效,并且已将其重命名为“Sheet 1”等通用名称。
我对我们正在使用的前面提到的包了解不多,但看起来它没有正确过滤无效的 Excel 工作表名称。知道如何过滤掉所有已知的无效字符吗?我犹豫是否要简单地过滤掉所有非单词字符。
我认为问题出在冒号,而不是感叹号。
如果您打开 Excel 并尝试手动编辑工作表名称,它唯一不允许您输入的字符是 [ ] * / \ ? :
如果您粘贴这些字符之一,您会收到以下错误:(Excel 2003)
重命名工作表或图表时,您
输入了无效的名称。尝试其中之一
下列:
- 确保您输入的名称不超过 31 个字符。
- 确保名称不包含以下任何内容
人物: : \ / ? * [ 或者 ]
- 确保您没有将姓名留空。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)