java.lang.IllegalArgumentException: This Style does not belong to the supplied Workbook異常的解決辦法
報(bào)錯(cuò)問題
java.lang.IllegalArgumentException: This Style does not belong to the supplied Workbook異常
報(bào)錯(cuò)原因
在Java中,當(dāng)你嘗試在一個(gè)Workbook(例如Apache POI庫中的HSSFWorkbook或XSSFWorkbook)上應(yīng)用一個(gè)Style對(duì)象,但該Style不是由同一個(gè)Workbook創(chuàng)建或關(guān)聯(lián)時(shí),就會(huì)拋出java.lang.IllegalArgumentException: This Style does not belong to the supplied Workbook異常。
下滑查看解決方法
解決方法
這是因?yàn)闃邮綄?duì)象與特定的工作簿關(guān)聯(lián),不能跨工作簿共享。解決這個(gè)問題的方法有以下幾點(diǎn):
1.確保你從當(dāng)前Workbook實(shí)例創(chuàng)建所有的樣式對(duì)象:
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFCellStyle style = workbook.createCellStyle(); // 創(chuàng)建并關(guān)聯(lián)到當(dāng)前workbook的樣式
2.如果你有一個(gè)預(yù)先定義好的樣式,需要在目標(biāo)Workbook中重新創(chuàng)建它:
// 假設(shè)已有一個(gè)樣式來自于另一個(gè)workbook
HSSFCellStyle sourceStyle;
// 在新的workbook中重新創(chuàng)建樣式
HSSFWorkbook targetWorkbook = new HSSFWorkbook();
HSSFCellStyle targetStyle = targetWorkbook.createCellStyle();
// 然后復(fù)制原樣式的所有屬性到新樣式
targetStyle.setFillForegroundColor(sourceStyle.getFillForegroundColor());
// ... 其他樣式屬性設(shè)置
3.不要嘗試在不同Workbook之間傳遞和應(yīng)用樣式,而應(yīng)該在每個(gè)Workbook內(nèi)部獨(dú)立管理其樣式資源。
總結(jié)來說,每次操作Excel文檔時(shí),都應(yīng)該針對(duì)該文檔的工作簿實(shí)例來創(chuàng)建和使用相應(yīng)的樣式對(duì)象,避免樣式對(duì)象的交叉使用。文章來源:http://www.zghlxwxcb.cn/news/detail-860577.html
以上內(nèi)容僅供參考,具體問題具體分析,如果對(duì)你沒有幫助,深感抱歉。文章來源地址http://www.zghlxwxcb.cn/news/detail-860577.html
到了這里,關(guān)于java.lang.IllegalArgumentException: This Style does not belong to the supplied Workbook異常的解決辦法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!