Freddy Kresna

Friday Jul 27, 2007

Membuka File Excel

Untitled Document Sebelumnya kita harus download POI
Ini listing codenya beserta sedikit dokumentasi program :

package poi;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import javax.swing.JFileChooser;
import javax.swing.JTable;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import java.awt.*;
import java.awt.event.*;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;

public class OpenExcel extends JFrame{

   private static final long serialVersionUID = 1L;
   private JMenuBar menuBar;
   private JMenu menu;
   private JMenuItem menuItem;
   private JScrollPane scrollPane;

   public OpenExcel()
   {
      super("Demo membuka file Excel");
      gui();
   }

   public void gui()
   {
      menuBar = new JMenuBar();
      menu = new JMenu("Menu");
       menuItem = new JMenuItem("Open");


      this.setLayout(new BorderLayout());

      this.add(menuBar, BorderLayout.NORTH);
      menuBar.add(menu);
      menu.add(menuItem);
      menuItem.addActionListener(new ActionListener()
      {
         public void actionPerformed(ActionEvent ae)
         {
            openActionPerformed(ae);
         }
      });
      scrollPane = new JScrollPane();
      this.add(scrollPane, BorderLayout.CENTER);
      this.setSize(500, 300);
   }

   private void openActionPerformed(ActionEvent ae)
   {
      JFileChooser chooser = new JFileChooser();

      if (chooser.showOpenDialog(this)!=0) return;
      POIFSFileSystem fs;
      try {
         fs = new POIFSFileSystem(new FileInputStream(chooser.getSelectedFile()));
         HSSFWorkbook wb = new HSSFWorkbook(fs);

         //mengambil sheet pertama
         HSSFSheet sheet = wb.getSheetAt(0);

         //deklarasi table dengan baris sejumlah baris terakhir sheet dan kolom sebanyak 6
         Object[][] cells = new Object[sheet.getLastRowNum()][6];

         //Pemberian nama kolom
         String[] columnNames = {"kolom 1",
                   "kolom 2",
                  "kolom 3",
                  "kolom 4",
                  "kolom 5",
                  "kolom 6"};

         //Perulangan sebanyak baris terakhir sheet
         for (int i =0;i<sheet.getLastRowNum();i++)
         {

            //Mengambil Row ke i
            HSSFRow row = sheet.getRow(i);
            //perulangan sebanyak jumlah kolom
            for (short j = 0;j < 6;j++)
            {
               //mengambil cell ke j
               HSSFCell cell = row.getCell(j);
               //mengambil tipe data String dari cell tersebut, jika memiliki tipe data lain
               // maka harus dilakukan pengecekan dengan cara cell.getType()
               String text = cell.getStringCellValue();
               cells[i][j] = text;
            }
      }

      JTable table = new JTable(cells,columnNames);
      scrollPane.setViewportView(table);

      } catch (FileNotFoundException ex) {
         ex.printStackTrace();
      } catch (IOException ex) {
         ex.printStackTrace();
      }
   }

   public static void main(String[] args)
   {
      OpenExcel ox = new OpenExcel();
      ox.setVisible(true);
   }
}

Referensi :
http://poi.apache.org/hssf/

Semoga bermanfaat :)

Comments:

Post a Comment:
Comments are closed for this entry.

Calendar

Feeds

Search

Links

Navigation

Referers