Apache/apache関連情報

Apache POIでExcelファイルにアクセスする(2ページ目)

JavaからExcelのファイルにアクセスする方法とは? それはApache POIを利用するのです。

執筆者:掌田 津耶乃

ベースとなるアプリケーションを用意する


では、実際にPOIを利用してみることにしましょう。まずは、下準備としてJTableを組み込んだアプリケーションを作成しましょう。これをベースに、POIを利用したファイルアクセスの機能を組み込んでいくことにします。

package jp.allabout;

import java.awt.*;
import java.awt.event.*;
import java.io.*;

import javax.swing.*;

import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;

public class SampleApp extends JFrame
    implements ActionListener {
  JTable table;
  JButton btn1,btn2;
  int row_num = 50;
  int col_num = 50;
  
  public SampleApp(){
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    btn1 = new JButton("Load");
    btn1.addActionListener(this);
    btn2 = new JButton("Save");
    btn2.addActionListener(this);
    JPanel p1 = new JPanel();
    p1.setLayout(new GridLayout(1,2));
    p1.add(btn1);
    p1.add(btn2);
    this.add(p1,BorderLayout.SOUTH);
    table = new JTable(row_num,col_num);
    table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    JScrollPane scroll = new JScrollPane(table,
        JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
        JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
    this.add(scroll,BorderLayout.CENTER);
    this.setSize(new Dimension(400,400));
  }

  @Override
  public void actionPerformed(ActionEvent e) {
    if (e.getSource() == btn1){
      loadFromFile();
    }
    if (e.getSource() == btn2){
      saveToFile();
    }
  }
  
  public void loadFromFile(){
    // TODO ここに読み込みの処理を書く
  }
  
  public void saveToFile(){
    // TODO ここに書き出しの処理を書く
  }
  
  public static void main(String[] args){
    new SampleApp().setVisible(true);
  }
}

ベースとなるアプリケーション。2つのボタンに、Excelファイルを読み書きするためのメソッドを割り付ける。


ここでは、JTableと、JButtonを2つJFrameに組み込んであります。この2つのボタンに、ファイルへの書き出しと読み込みの機能を組み込むことにしましょう。

ここでは、actionPerformed内でそれぞれのボタンごとに「saveToFile」「loadFromFile」といったメソッドを呼び出すようにしてあります。後は、これらのメソッドを作成してけばいいだけですね。


  • 前のページへ
  • 1
  • 2
  • 3
  • 6
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます