2017-03-25 6 views
0

私はApacheのPOI APIを習得しようとしており、何かを理解するのが少し難しいです。 JFileChooserクラスを使用して既存のExcelファイルを開こうとしているので、ユーザーがExcelファイルを選択してから、それを特定の方法で変更します。私はファイルを開く問題があります。それは私にこのエラーを与え続けます:Unreported Exception。 XSSFWorkbookコードを持つ行にスローされるようにキャッチするか、宣言する必要があります。次のように私のロジックは次のとおりです。報告されていない例外。キャッチされるかスローされると宣言されなければならない

1)ユーザーがいるExcelは、彼らが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ブロックの周りに置くか、例外をキャッチするか、何か他のものによって処理できるようにスローする必要があります。

お詫び申し上げますが、私はIOExceptionを処理したことに気付きました。他のエラーは、RuntimeExceptionです。この例外は、XSSFWorkbookオブジェクトを作成したときにスローされます。コンストラクタに入れるパラメータは、タイプInputStreamまたはOPCPackageが必要な場合はFileです。次のようにFileInputStreamを作成してください:

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

次に、未処理の/スローされたエラーはもうありません。

+0

はい!どうもありがとうございます! – humbleCoder

+0

もう1つ質問があります。 Excelファイルの内容をコンソールに出力する方法はありますか? – humbleCoder

+0

どのような内容ですか?ファイルがヌルであるかどうかチェックするのは好きですか? rgb値を使用して特定のセルの背景/前景色などの情報をコンソールに取り込む方法があります。行/列を繰り返して、セルの内容を取得して表示することもできます。私の好みは、outputstream –

関連する問題