Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在用java打开excel文件时,我遇到了以下错误:警告:使用本地非内置名称_Java_Excel_Jxl - Fatal编程技术网

在用java打开excel文件时,我遇到了以下错误:警告:使用本地非内置名称

在用java打开excel文件时,我遇到了以下错误:警告:使用本地非内置名称,java,excel,jxl,Java,Excel,Jxl,当我试图打开excel文件时,我收到了此错误消息。 警告:使用本地非内置名称 我的excel文件包含1600多行 如果我尝试使用相同的代码并打开一个小的excel文件,它就会工作 为什么 我使用JXL 谢谢这似乎只是一个警告,而不是与excel文件相关的错误,也不是对文件的解析,我将忽略它。以下是生成该警告的代码: // Add all the local names to the specific sheets 913 for (Iterator it = localNames.i

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

我的excel文件包含1600多行 如果我尝试使用相同的代码并打开一个小的excel文件,它就会工作

为什么

我使用JXL
谢谢

这似乎只是一个警告,而不是与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     }
用户618111

这可能是您的大型Excel文件中存在的问题。 转到“公式”菜单,然后单击“名称管理器”。您很可能看到一个名称的值不正确(#REF!)


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

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

还有一种情况,您从其他工作簿复制了几个单元格。如果您保留源格式,并且它具有已定义的名称,则它也将复制到名称管理器。检查中是否有此类内容,并将其删除


另外,我在使用MySQL插件时也遇到了同样的问题,它在名称管理器中创建了一些名称。您可以禁用该COM加载项,如果是这种情况,请重试。

您昨天询问过,但仍然没有提供更多有用的信息。请查看工作簿中的公式:很可能其中一个正在使用用户定义的函数,或者外部函数包中的函数。@codestar我检查了我的工作表,您的评论不适用于我的情况。这个答案似乎有点极端,因为它会抑制所有可能有用的警告。