2017-03-25 9 views
0

그래서 아파치의 POI API를 배우려고하는데 익숙하지 않은 뭔가가 있습니다. JFileChooser 클래스를 사용하여 기존 Excel 파일을 열려고하므로 사용자가 Excel 파일을 선택한 다음 특정 방식으로 수정합니다. 파일을 여는 데 문제가 있습니다. 그것은 나에게이 오류를 계속 제공한다 : Unreported Exception. XSSFWorkbook 코드가있는 라인에서 잡히거나 선언되어야합니다.보고되지 않은 예외. 붙잡혀 야하거나 던져 진다고 선언해야합니다.

1) 사용자가

파일 선택한 엑셀에서 데이터를 전송하는 JFileChooser를 클래스

2

) 새 통합 문서 및 시트를 만들기를 사용하여 그들이 수정할 엑셀 파일을 선택 유무 : 다음과 같이 내 논리는

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"); 


     } 

} 

답변

2

보고되지 않은 예외 오류는 당신이 가능하게 예외가 발생하고 처리해야 할 수있는 방법을 호출하는 것을 의미한다. 이 경우 try-catch 블록 주위에 해당 메서드를 두어 예외를 catch하거나 다른 것으로 처리 할 수 ​​있도록 throw해야합니다.

죄송 합니다만, 귀하가 IOException을 처리 한 것으로 나타났습니다. 다른 오류는 RuntimeException입니다. 이 예외는 XSSFWorkbook 개체를 만들 때 발생합니다. 생성자에 넣을 매개 변수는 InputStream 또는 OPCPackage 유형이 필요할 때 File 유형입니다. 다음과 같이 FileInputStream을 작성하면됩니다.

InputStream is = new FileInputStream(OGFile); 
XSSFWorkbook wb = new XSSFWorkbook(is); 

그러면 더 이상 처리되지 않은/던진 오류가 없어야합니다.

+0

예! 정말 고맙습니다! – humbleCoder

+0

질문이 하나 더 있습니다. 엑셀 파일의 내용을 콘솔에 인쇄하는 방법이 있습니까? – humbleCoder

+0

내용의 종류는 무엇입니까? 파일이 null인지 확인하고 싶습니까? rgb 값을 통해 특정 셀의 배경/전경색과 같은 정보를 얻는 방법이 있습니다. 행/열을 반복하여 셀의 내용을 가져 와서 표시 할 수도 있습니다. 내가 선호하는 것은 outputstream을 통해 출력 파일에 쓰는 것입니다. –