用java程序导出数据到Excel文档

1.问题产生
如何用java程序直接打开一个Excel文件
2.解决

//启动带有空格的文件

   String[] cmdarray=new String[]{"cmd.exe","/c","C://Documents and Settings//Administrator//桌面//results.xls"};
   Runtime.getRuntime().exec(cmdarray);

//启动不带空格的文件
   Runtime.getRuntime().exec("cmd  /c  start  d://a.xls")                                           
   getRuntime()是取得系统运行时环境 
   start参数表名直接启动excel文件,相当于双击操作 ,是个windows命令.
-------------------------------------------------------------------------------------------------------------------------------

package com.sun.my;

 
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import javax.swing.JTable;
import javax.swing.table.TableModel;

 

/**
 *
 * @author Administrator
 */
public class ExcelExporter {
        public void exportTable(JTable table, String path) throws IOException {
                TableModel model = table.getModel();
                OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(path),"gbk");
                for(int i=0; i < model.getColumnCount(); i++) {
                        out.write(model.getColumnName(i) + "/t");
                }
                out.write("/n");
                for(int i=0; i<model.getRowCount(); i++) {
                        for(int j=0; j < model.getColumnCount(); j++) {
                                out.write(model.getValueAt(i,j).toString()+"/t");
                        }
                        out.write("/n");
                }
                out.close();
                String[] cmdarray=new String[]{"cmd.exe","/c",path};
                Runtime.getRuntime().exec(cmdarray);
        }
}

------------------------------------------------------------------以下为调用-------------------------------------------------------

private void diaoyong() {                                          
        String strPath = "C://Documents and Settings//Administrator//桌面//results.xls";
        try {
                if(model != null){
                        this.jTable1.setModel(model);
                        ExcelExporter exp = new ExcelExporter();
                        exp.exportTable(jTable1, strPath);
                }
        } catch (IOException ex) {
                Logger.getLogger(SearchUI.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值