您的位置:首页 > 其它

JTable内容保存至e此博文包含图片xcel

2014-09-25 18:53 381 查看
import java.awt.*;

import java.awt.event.*;

import java.util.Vector;

import javax.swing.*;

import javax.swing.event.*;

import javax.swing.table.*;

import java.io.File;

import java.io.*;

//import javax.swing.filechooser.FileFilter;

public class testTable implements ActionListener

{ JFrame f=new JFrame();

JTable table = null;

JLabel label= null;

DefaultTableModel defaultModel =null;

JFileChooser fileChooser=new JFileChooser();//文件选择

public testTable()

{



Object[][] p=

{

{"王磊",new Integer(20),new Integer(30),new Integer(20)},

{"张凡",new Integer(20),new Integer(30),new Integer(20)},

{"周欣",new Integer(20),new Integer(30),new Integer(20)},

{"张丽",new Integer(20),new Integer(30),new Integer(20)},

};





String[] n={"姓名","班级","年龄","薪水"};

defaultModel =new DefaultTableModel(p,n);//采用default模式

table =new JTable(defaultModel);

table.setPreferredScrollableViewportSize(new Dimension(400,80));

JScrollPane s=new JScrollPane(table);

JPanel panel= new JPanel();





JButton b2=new JButton("增加行");

panel.add(b2);

b2.addActionListener(this);

JButton b3=new JButton("删除行");

panel.add(b3);

b3.addActionListener(this);

JButton b4=new JButton("保存");//保存按钮

panel.add(b4);

b4.addActionListener(this);

Container contentPane =f.getContentPane();

contentPane.add(panel,BorderLayout.SOUTH);

contentPane.add(s,BorderLayout.CENTER);

f.setTitle("JTableDemo");

f.pack();

f.setVisible(true);





f.addWindowListener(new WindowAdapter()//关闭对话框

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

}

);

}

public void actionPerformed(ActionEvent e)//按键响应

{





File file =new File("");//

int result;



if (e.getActionCommand().equals("删除行"))//单击删除按钮删除行

{

int rowcount=defaultModel.getRowCount()-1;

if(rowcount>=0)

{

defaultModel.removeRow(rowcount);

defaultModel.setRowCount(rowcount);

}

}





if(e.getActionCommand().equals("打开")) //单击打开文件

try{

fileChooser.setApproveButtonText("确定");

fileChooser.setDialogTitle("打开文件");

result=fileChooser.showOpenDialog(f);

if( result==JFileChooser.APPROVE_OPTION)

{

file=fileChooser.getSelectedFile();

label.setText("要打开的文件为:"+file.getName());

}

else if( result==JFileChooser.CANCEL_OPTION)

{

label.setText("你没有打开任何文件");

}

}

catch(Exception ee){System.out.print("error"+ee); }









if(e.getActionCommand().equals("保存"))

try {



fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);

fileChooser.showSaveDialog(f);//显示保存对话框

String fi = file.getAbsolutePath()+".xls";

System.out.println(file);

FileWriter out = new FileWriter(fi);//新建输出

for (int i = 0; i < table.getColumnCount(); i++) {

out.write(table.getColumnName(i) + "\t");

}

out.write("\n");

for (int i = 0; i < table.getRowCount(); i++) {

for (int j = 0; j < table.getColumnCount(); j++) {

out.write(table.getValueAt(i, j).toString() + "\t");

}

out.write("\n");

}

out.close();

JOptionPane.showMessageDialog(null, "文件导出成功");

Runtime.getRuntime().exec("cmd /c start "" "" + fi+""");

}

// 打开生成的excel文件

catch (Exception ee) { ee.printStackTrace(); }

table.ridate();



}





public static void main(String args[])

{

new testTable();



}

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐