在用java打开excel文件期间出现此错误:警告:使用本地非内置名称

发布于 2024-10-19 03:59:50 字数 144 浏览 6 评论 0原文

当我尝试打开 Excel 文件时,出现此错误消息。 警告:使用本地非内置名称

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

为什么请?

我用的是JXL 谢谢

when i try to open an excel file i have this error message.
Warning: Usage of a local non-builtin name

My excel file file contains more than 1600 rows
if i try the same code and open a small excel file, it's working.

Why please?

I use JXL
thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

能否归途做我良人 2024-10-26 03:59:50

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

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

ま昔日黯然 2024-10-26 03:59:50

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

It appears to be just a warning, and not an error related to the excel file, not the parsing of the file, i'd just ignore it. Here is the code that generates that warning:

// 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     }
白昼 2024-10-26 03:59:50

user618111,

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

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

user618111,

It is likely a problem in your large Excel file.
Go to Menu Formulas and click on Name Manager. You very likely see a Name that has a bad value (#REF!).

If the excel file generation is in your control, you can fix it. Else, i suggest you just ignore it.

心碎无痕… 2024-10-26 03:59:50

可能还有一种情况,您从不同的工作簿复制了几个单元格。如果保留源格式,并且它有定义的名称,它也将被复制到名称管理器。检查里面是否有这样的内容并将其删除。

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

There can be one more scenario, where you have copied few cells from a different workbook. If you keep source formatting, and if it has a defined name, it will also be copied to name manager. Check if any such are there in and delete them.

Also, I had same issue when used MySQL Addin, which created some names in Name Manager. You may disable that COM addin and try again if that is the case.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文