2

当我尝试打开一个 excel 文件时,我收到此错误消息。警告:使用本地非内置名称

如果我尝试相同的代码并打开一个小的 excel 文件,我的 excel 文件文件包含超过 1600 行,它正在工作。

告诉我为什么?

我用 JXL 谢谢

4

4 回答 4

4

WorkbookSettings wbSettings = new WorkbookSettings(); wbSettings.setSuppressWarnings(true);

于 2013-12-26T09:08:09.830 回答
3

它似乎只是一个警告,而不是与 excel 文件相关的错误,而不是文件的解析,我会忽略它。这是生成该警告的代码:

// Add all the local names to the specific sheets
913       for (Iterator it = localNames.iterator() ; it.hasNext() ;)
914       {
915         NameRecord nr  = (NameRecord) it.next();
916   
917         if (nr.getBuiltInName() == null)
918         {
919           logger.warn("Usage of a local non-builtin name");
920         } 
921         else if (nr.getBuiltInName() == BuiltInName.PRINT_AREA || 
922                  nr.getBuiltInName() == BuiltInName.PRINT_TITLES)
923         {
924           // appears to use the internal tab number rather than the
925           // external sheet index
926           SheetImpl s = (SheetImpl) sheets.get(nr.getSheetRef() - 1);
927           s.addLocalName(nr);
928         }
929       }
930     }
于 2011-02-26T21:26:13.930 回答
0

用户618111,

这可能是您的大型 Excel 文件中的问题。转到菜单公式,然后单击名称管理器。您很可能会看到具有错误值的名称(#REF!)。

如果 excel 文件生成在您的控制范围内,您可以修复它。否则,我建议你忽略它。

于 2013-06-19T18:04:30.593 回答
0

可能还有另一种情况,您从不同的工作簿复制了几个单元格。如果您保留源格式,并且如果它具有定义的名称,它也将被复制到名称管理器。检查是否有任何此类并删除它们。

另外,我在使用 MySQL Addin 时遇到了同样的问题,它在 Name Manager 中创建了一些名称。如果是这种情况,您可以禁用该 COM 插件并重试。

于 2015-09-24T14:25:16.243 回答