2011-02-26 129 views
2

當我嘗試打開Excel文件時出現此錯誤消息。 警告:當地非內置名使用java打開excel文件時出現此錯誤:警告:使用本地非內置名稱

我的Excel文件文件的使用包含超過1600行 如果我嘗試相同的代碼,並打開一個小的excel文件,它的工作。

爲什麼要這樣?

我用JXL 謝謝

+0

您有問題[此問題](http://stackoverflow.com/questions/5123226/during-opening-an-excel-file-with-java-i-have-this-error-warning-usage- ),但仍然沒有提供更多的信息,可能對某些人有所幫助。 – 2011-02-26 23:22:06

+0

查看工作簿中的公式:很可能其中一個正在使用用戶定義的函數或外部函數包中的函數。 – 2011-02-27 11:25:38

回答

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  } 
0

user618111,

很可能在較大的Excel文件有問題。 轉到菜單公式,然後單擊名稱管理器。您很可能會看到名稱有錯誤的值(#REF!)。

如果excel文件生成在你的控制之下,你可以修復它。否則,我建議你忽略它。

+0

@codestar我檢查了我的工作表您的評論不適用於我的案例 – saikosen 2014-10-17 11:05:01

4

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

+0

這個答案似乎有點極端,因爲它會抑制所有可能有用的警告。 – JesseBoyd 2017-12-13 23:07:11

0

可能還有一種情況,您從其他工作簿中複製了幾個單元格。如果您保持源格式,並且它有一個定義的名稱,它也將被複制到名稱管理器。檢查是否有任何此類信息,並刪除它們。

另外,當我使用MySQL Addin,在Name Manager中創建了一些名稱時,我遇到了同樣的問題。如果是這種情況,您可以禁用該COM插件並重試。

相關問題