Java swing: Export excel sheet data to JTable


 

Java swing: Export excel sheet data to JTable

In this tutorial, you will learn how to read data from excel file and export it to JTable.

In this tutorial, you will learn how to read data from excel file and export it to JTable.

Java swing: Export excel sheet data to JTable

In this tutorial, you will learn how to read data from excel file and export it to JTable.

In swing applications, sometimes, it is required to display the excel file data into the jtable. Now to read these excel files, Java has provide two api's JExcel api and POI-HSSF api. Here we are using JExcel api to fetch the data from excel sheet and display its content to jtable. In the given code, we have used getWorkbook()method which takes in an excel file and reads in the contents. The interfaces Sheet and Cell provides different methods to read all the rows and columns of the excel and file.

Here is the excel file to be read.

Example

 import java.io.*;
import java.awt.*;
import java.util.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.table.*;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;


public class ExcelToJtable {
public static void main(String[] args) {

Vector headers = new Vector();
Vector data = new Vector();

File file = new File("c:/data.xls");
try {
Workbook workbook = Workbook.getWorkbook(file);
Sheet sheet = workbook.getSheet(0);
headers.clear();
for (int i = 0; i < sheet.getColumns(); i++) {
Cell cell1 = sheet.getCell(i, 0);
headers.add(cell1.getContents());
}
data.clear();
for (int j = 1; j < sheet.getRows(); j++) {
Vector d = new Vector();
for (int i = 0; i < sheet.getColumns(); i++) {
Cell cell = sheet.getCell(i, j);
d.add(cell.getContents());
}
d.add("\n");
data.add(d);
}
}
catch (Exception e) {
e.printStackTrace();
}
JTable table = new JTable();
DefaultTableModel model = new DefaultTableModel(data,headers);
table.setModel(model);
table.setAutoCreateRowSorter(true);
model = new DefaultTableModel(data, headers);
table.setModel(model);
JScrollPane scroll = new JScrollPane(table);
JFrame f=new JFrame();
f.add(scroll);
f.setSize(400, 200);
f.setResizable(true);
f.setVisible(true);
}
}

Output:

Ads