[英]Unreported Exception. Must be caught or declared to be thrown
因此,我正在嘗試學習Apache的POI API,並且在理解某些內容方面遇到了一些困難。 我正在嘗試使用JFileChooser類打開現有的Excel文件,以便用戶選擇Excel文件,然后以某種方式對其進行修改。 我在打開文件時遇到了問題。 它一直給我這個錯誤:未報告的異常。 必須被捕獲或聲明為在具有XSSFWorkbook代碼的行上拋出。 我的邏輯如下:
1)讓用戶使用JFileChooser類選擇要修改的excel文件
2)創建一個新的工作簿和工作表以從選定的excel文件中傳輸該數據
3)修改數據
public class readInExcel {
static void readExcel() throws IOException
{
JFileChooser fileChooser = new JFileChooser();
fileChooser.setCurrentDirectory(new File(System.getProperty("user.home")));
int returnVal = fileChooser.showOpenDialog(new JPanel());
if(returnVal == JFileChooser.APPROVE_OPTION)
{
File OGFile = fileChooser.getSelectedFile();
String fileName = "user.home.Desktop";
XSSFWorkbook wb = new XSSFWorkbook(OGFile);
XSSFSheet sheet = wb.createSheet("FirstSheet");
}
}
未報告的異常錯誤意味着您正在調用可能引發異常並需要處理的方法。 在這種情況下,您可能需要將該方法放在try-catch塊周圍以捕獲該異常或將其拋出,以便可以由其他方法處理該異常。
抱歉,我剛剛注意到您處理了IOException。 您遇到的另一個錯誤是RuntimeException。 創建XSSFWorkbook對象時,將引發此異常。 當您需要使用InputStream
或OPCPackage
類型的參數時,您要在構造函數中放入的參數的類型為File
。 就像這樣創建一個FileInputStream:
InputStream is = new FileInputStream(OGFile);
XSSFWorkbook wb = new XSSFWorkbook(is);
然后,您應該不再有未處理/拋出的錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.