當我嘗試打開Excel文件時出現此錯誤消息。 警告:當地非內置名使用java打開excel文件時出現此錯誤:警告:使用本地非內置名稱
我的Excel文件文件的使用包含超過1600行 如果我嘗試相同的代碼,並打開一個小的excel文件,它的工作。
爲什麼要這樣?
我用JXL 謝謝
當我嘗試打開Excel文件時出現此錯誤消息。 警告:當地非內置名使用java打開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 }
user618111,
很可能在較大的Excel文件有問題。 轉到菜單公式,然後單擊名稱管理器。您很可能會看到名稱有錯誤的值(#REF!)。
如果excel文件生成在你的控制之下,你可以修復它。否則,我建議你忽略它。
@codestar我檢查了我的工作表您的評論不適用於我的案例 – saikosen 2014-10-17 11:05:01
WorkbookSettings wbSettings = new WorkbookSettings(); wbSettings.setSuppressWarnings(true);
這個答案似乎有點極端,因爲它會抑制所有可能有用的警告。 – JesseBoyd 2017-12-13 23:07:11
可能還有一種情況,您從其他工作簿中複製了幾個單元格。如果您保持源格式,並且它有一個定義的名稱,它也將被複制到名稱管理器。檢查是否有任何此類信息,並刪除它們。
另外,當我使用MySQL Addin,在Name Manager中創建了一些名稱時,我遇到了同樣的問題。如果是這種情況,您可以禁用該COM插件並重試。
您有問題[此問題](http://stackoverflow.com/questions/5123226/during-opening-an-excel-file-with-java-i-have-this-error-warning-usage- ),但仍然沒有提供更多的信息,可能對某些人有所幫助。 – 2011-02-26 23:22:06
查看工作簿中的公式:很可能其中一個正在使用用戶定義的函數或外部函數包中的函數。 – 2011-02-27 11:25:38