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();
}
}
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();
}
}
相关文章推荐
- python下载文件(图片)源码,包含爬网内容(爬url),可保存cookie
- web中,如何读取Word内容(包含表格,但不包含图片)并且显示在页面中或保存进数据库中
- python下载文件(图片)源码,包含爬网内容(爬url),可保存cookie
- 【开源】天猫店整店商品图片采集工具:屠刀(包含题图、颜色图、内容图,适用于服装类,按货号保存商品图片)
- web中,如何读取Word内容(包含表格,但不包含图片)并且显示在页面中或保存进数据库中
- Python保存一个网页的全部内容(包含链接内的图片等等)
- 晓潘:闲来无事,发一些笑话恶搞 [此博文包含图片]
- 把文章内容中涉及到的图片自动保存到本地服务器
- 包含so 文件到APK的小技巧 (这个内容不是合理的做法,请查阅我关于NDK 1.6的博文来讨论Google 的推荐做法)
- HttpWatch中的ERROR_INTERNET_INVALID_URL错误 [此博文包含图片]
- 使用CSS制作文字环绕图片效果(文字内容包含<li>标签)
- 一步一步教你破解 Silverlight(转) [此博文包含图片]
- 保存减切板内容为BMP图片 &amp;&amp; Clipboard save as bmp......
- inux的启动SD卡的格式化方法 [此博文包含图片]
- 将文本文件的内容或者文字保存成图片
- delphi RichEdit的内容保存为图片
- 如何将Canvas中内容保存为图片
- C#将网页内容转换成图片保存到本地( webbrowser 可应用于B/S结构中)
- AS3+.Net以图片形式保存涂鸦内容至服务器
- [js]整合google,51ditu和mapbar的地图API [此博文包含图片]