当前位置:  开发笔记 > 编程语言 > 正文

Excel工作表名称的有效字符

如何解决《Excel工作表名称的有效字符》经验,为你挑选了2个好方法。

在Java中,我们使用以下包以编程方式创建excel文档:

org.apache.poi.hssf

如果您尝试设置工作表的名称(不是文件,而是内部Excel工作表),则在以下情况下会出现错误:

名称超过31个字符

该名称包含以下任何字符:/\*?[]

但是,在创建工作表名称为的文档后:

@#$%&()+〜`"':;.,|

没有输出错误,Java中的一切似乎都很好.当您在Office 2003中打开Excel文件时,它将显示一个错误,指出工作表名称无效,并将其重命名为通用的"工作表1".

我不太了解我们之前所说的包,但看起来它没有正确过滤无效的Excel工作表名称.知道如何过滤掉所有已知的无效字符?我只是过滤掉所有非单词字符而犹豫不决.



1> BradC..:

我认为问题是结肠,而不是感叹号.

如果您打开Excel并尝试手动编辑工作表名称,则不允许您键入的唯一字符是[]*/\?:

如果您粘贴其中一个字符,您会收到以下错误:(Excel 2003)

在重命名工作表或图表时,您输入的名称无效.请尝试以下方法之一:

确保您输入的名称不超过31个字符.

确保名称不包含以下任何字符::\/?*[ 要么 ]

确保没有将名称留空.



2> 小智..:

您可以使用Apache POI的WorkbookUtil.createSafeSheetName(String s)安全地创建工作表名称.

http://poi.apache.org/apidocs/org/apache/poi/ss/util/WorkbookUtil.html


警告:在POI 3.7中,此方法允许冒号(Excel不允许).它已在POI 3.9中修复.
推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有