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

 
 


rajeyah jordan
How to save data to excel with a 2.1 work sheet format without changing it?
1 Answer(s)      a year and 4 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.io.*;
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();

try{
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);
index++;
}
FileOutputStream fileOut = new FileOutputStream("c:\\Hello.xls");
wb.write(fileOut);
fileOut.close();
Runtime rt = Runtime.getRuntime();
rt.exec("cmd.exe /C start C:\\Hello.xls");
}
catch(Exception e){}
}
});
panel.add(pane);
panel.add(button);
frame.add(panel);
frame.setSize(650,350);
frame.setUndecorated(true);
frame.getRootPane().setWindowDecorationStyle(JRootPane.PLAIN_DIALOG);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

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









Related Pages:

Ask Questions?

If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.

Ask your questions, our development team will try to give answers to your questions.