在Java中,我们使用以下程序包以编程方式创建excel文档:
org.apache.poi.hssf
如果尝试设置工作表的名称(不是文件,而是内部Excel工作表),则在以下情况下会出现错误:
但是,在创建具有以下工作表名称的文档后:
@#$%&()+〜`“’:;,。|
没有错误输出,并且在Java中一切正常。当您在Office 2003中打开excel文件时,它会给您一个错误,指出工作表名称无效,并将其重命名为“
Sheet 1”之类的通用名称。
我对我们正在使用的先前介绍的软件包了解不多,但看起来好像没有正确过滤无效的Excel工作表名称。是否知道如何过滤掉所有已知的无效字符?我很想简单地过滤掉所有非单词字符。
我认为问题是冒号,而不是感叹号。
如果打开Excel并尝试手动编辑工作表名称,则不允许输入的唯一字符是[] * / \?:
如果在其中粘贴这些字符之一,则会出现以下错误:(Excel 2003)
重命名工作表或图表时,您输入了无效的名称。请尝试以下方法之一:
- 确保您输入的名称不超过31个字符。
- 确保名称不包含以下任何字符::\ /?* [ 要么 ]
- 确保您没有将该名称留空。
本文向大家介绍excel-vba 检索活动工作簿中的所有工作表名称,包括了excel-vba 检索活动工作簿中的所有工作表名称的使用技巧和注意事项,需要的朋友参考一下 示例
下面的代码用于获取excel文件(.xlsx)的工作表名称 上面的代码存在的问题是,为一个9MB大小的文件创建需要占用大量内存(~700MB)&时间很长(5-6s)。即使将设置为也不会释放占用的内存(我知道可能被调用,也可能不被调用&JVM不会仅仅因为我将变量设置为null而释放内存) 我确实浏览了Workbook,XSSFWorkbook&根据我的理解,没有任何方法可以帮助我获得内存印记较低的工
问题内容: 我有以下代码用于获取excel文件的工作表名称(.xlsx) 我上面的代码存在的问题是,为9MB大小的文件创建文件需要花费大量内存(〜700MB)和较长时间(5-6s)。即使将设置为,也不会释放占用的内存(我知道可能会叫,也可能不会叫&JVM不会因为我将变量设置为null而释放内存) 我确实浏览了Workbook,XSSFWorkbook的文档,据我了解,没有任何方法可以帮助我获得内存
问题内容: ava类名称中哪些字符有效?还有哪些其他规则管理Java类名称(例如,Java类名称不能以数字开头)? 问题答案: 你几乎可以使用任何字符,包括大多数Unicode字符!确切的定义在Java语言规范的3.8:标识符一节中。 一个标识符是无限长序列的Java字母和爪哇位,其中第一个必须是一个爪哇字母。… 字母和数字可能来自整个Unicode字符集,…这允许程序员在使用其母语编写的程序中使
问题内容: 我正在动态创建python类,我知道并非所有字符在此上下文中都是有效的。 我可以在类库中某处使用某种方法来清理随机文本字符串,以便将其用作类名吗?那个或者允许的字符列表将是一个很好的帮助。 关于与标识符名称冲突的补充: 就像在下面的答案中指出的@Ignacio一样,任何可以有效用作标识符的字符都是类名中的有效字符。您甚至可以毫无保留地将保留字用作类名。但是有一个陷阱。如果您确实使用保留