Latest Tutorials| Questions and Answers|Ask Questions?|Site Map

Home Answers Viewqa Java-Beginners How to save data to excel with a 2.1 work sheet format without changing it?

Have Programming Question? Ask it here!

rajeyah jordan
How to save data to excel with a 2.1 work sheet format without changing it?
1 Answer(s)      2 years and 8 months ago
Posted in : Java Beginners

hi , i have done a program that allows user to inout data through jtable and save it to excel file then read it again .. the problem is , when data is saved , the extension file is changed to excel file with text ( tab limited ) type , if i read it as it is it throughs an exceeption so i should save that file as ... excel 2.1 work sheet at first then read it back ..

Whats the solution ? i tried to make the default type 2.1 work sheet from excel tools but didnt work

View Answers

January 3, 2012 at 11:31 AM

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.table.*;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;

public class JTableToExcel{
JTable table;
JButton button;
public static void main(String[] args) {
new JTableToExcel();
public JTableToExcel(){
JFrame frame = new JFrame("Getting Cell Values in JTable");
JPanel panel = new JPanel();
String data[][] = {{"Angelina","Mumbai"},{"Martina","Delhi"}};

String col[] = {"Name","Address"};
DefaultTableModel model = new DefaultTableModel(data, col);
table = new JTable(model);
JScrollPane pane = new JScrollPane(table);
button=new JButton("Submit");
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("Excel Sheet");
int index=0;
int count=table.getRowCount();

for(int i=0;i<count;i++){
Object obj1 = GetData(table, i, 0);
Object obj2 = GetData(table, i, 1);
String value1=obj1.toString();
String value2=obj2.toString();
HSSFRow row = sheet.createRow((short)index);
row.createCell((short) 0).setCellValue(value1);
row.createCell((short) 1).setCellValue(value2);
FileOutputStream fileOut = new FileOutputStream("c:\\Hello.xls");
Runtime rt = Runtime.getRuntime();
rt.exec("cmd.exe /C start C:\\Hello.xls");
catch(Exception e){}

public Object GetData(JTable table, int row_index, int col_index){
return table.getModel().getValueAt(row_index, col_index);

Related Tutorials/Questions & Answers: