Apache POI读取xlsx时workbook.getName返回null问题咨询
Apache POI workbook.getName()返回null的原因及解决办法
workbook.getName("cellname")这个API不是用来读取单元格地址(比如A1)的,而是专门读取Excel里预先定义的命名区域的。返回null的核心问题就是那台有问题的xlsx文件里,根本没创建名为"cellname"的命名区域。
要让这个API能正常读取,你需要给目标文件添加对应的命名区域,步骤如下(以微软Excel为例):
- 打开目标xlsx文件,选中你要关联名称的单元格或单元格区域
- 点击Excel顶部的「名称框」(就是显示A1、B2这类单元格地址的输入框),输入"cellname"后按回车确认
- 或者通过「公式」选项卡 → 「定义名称」,在弹出的窗口里设置名称为"cellname",选择对应的单元格区域,完成后保存文件
额外注意:
- 命名区域的名称大小写不敏感,但尽量避免特殊字符和空格,用简洁的英文名称更稳妥
- 如果是跨工作表的命名区域,要确认名称的作用域设置正确,读取时可以通过
Name.getSheetIndex()检查对应的工作表
内容的提问来源于stack exchange,提问作者Mandroid
相关产品推荐
相关产品推荐

