zoukankan      html  css  js  c++  java
  • Java JTable 表格 获取存储路径,文件名 ,导出excel表格

    在做计量泵上位机软件时,需要将下位机传上来的数据,存入MYSQL数据库,显示在java 上位机界面上,并能导出至电脑指定位置。 

    选择存储路径和文件名:

        // 处理另存文件的菜单  
         public void ExportExcelFile(String Sql,String []Paras) {  
             
             String AbsolutePath="";     
          // 设置对话框的风格  
          try {  
           UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());  
          } catch (Exception e1) {  
           // TODO Auto-generated catch block  
           e1.printStackTrace();  
          }  
          JFileChooser jFileChooser = new JFileChooser();  
        //   jFileChooser.setMultiSelectionEnabled(true);//如果要多选的话,设置这句话即可  
          // 设置默认的保存文件名称,注意如果这样设置了之后,后面就无法取得用户改变之后的文件存储路径了,因为后面调用的 jFileChooser.getCurrentDirectory()获取的路//径就是你设置的默认文件的路径  
          // jFileChooser.setSelectedFile(new  
          // File("默认文件名称"));  
          int result = jFileChooser.showSaveDialog(null);        
          switch (result) {  
          case JFileChooser.APPROVE_OPTION:  
              System.out.println("11");
               // 这一种方法是把用户输入的作为保存的文件名  保存为excel表格  .xls
              AbsolutePath = jFileChooser.getCurrentDirectory() + File.separator + jFileChooser.getSelectedFile().getName()  
                 + ".xls";  //.xls 为输出excel表格 也可以指定其他格式
               SqlHelper sqlHelper=new SqlHelper();
               ResultSet rs=sqlHelper.query(Sql, Paras);                    
               File file=new File(AbsolutePath);
                try {
                    this.writeExcel(rs, file); //导出数据方法
                } catch (SQLException e1) {    
                    e1.printStackTrace();
                }            
                JOptionPane.showMessageDialog(null, "导出数据成功!");           
               break;  
          case JFileChooser.CANCEL_OPTION:             
              JOptionPane.showMessageDialog(null, "取消导出!!");
              break;  
          case JFileChooser.ERROR_OPTION:           
             //System.out.println("出错啦!!");  
              break;  
          }             
       }
    //导出数据方法:
       //需要一个结果集合rs 和 file文件
    public void writeExcel(ResultSet rs,File file) throws SQLException{ WritableWorkbook workbook = null; //从rs对象中可以得到ResultSetMetaData ,从而可以得到表的列名 ResultSetMetaData rsmt=rs.getMetaData(); try{ //首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象 workbook = Workbook.createWorkbook(file); } catch (IOException e){ e.printStackTrace(); } if(workbook!=null){ WritableSheet wsheet = workbook.createSheet("sheet1", 0); try { //获得表的列名 for(int i=0;i<rsmt.getColumnCount();i++) { Label label_column1 = new Label(i, 0, rsmt.getColumnName(i+1)); wsheet.addCell(label_column1); } } catch (RowsExceededException e1) { e1.printStackTrace(); } catch (WriteException e1) { e1.printStackTrace(); } //获得表的内容 int i=1; while(rs.next()){ for(int j=0;j<rsmt.getColumnCount();j++) { Label label1 = new Label(j, i, rs.getString(j+1)); try { wsheet.addCell(label1); } catch (RowsExceededException e) { e.printStackTrace(); } catch (WriteException e) { e.printStackTrace(); } } i++; } try { //从内存中写入文件中 workbook.write(); //关闭资源,释放内存 workbook.close(); } catch (IOException e) { e.printStackTrace(); } catch (WriteException e){ e.printStackTrace(); } } }
    
    
    
     
  • 相关阅读:
    yii---模型的创建
    yii---控制器的创建
    yii的安装
    windows下安装composer
    wpgcms---列表页数据渲染
    Twig---基本使用
    wpgcms---详情页面数据怎么渲染
    Twig---的使用
    vue---指令怎么写
    vue---设置缩进为4个空格
  • 原文地址:https://www.cnblogs.com/wuyun-blog/p/4412327.html
Copyright © 2011-2022 走看看