ベースとなるアプリケーションを用意する
では、実際に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」といったメソッドを呼び出すようにしてあります。後は、これらのメソッドを作成してけばいいだけですね。