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

选择存储路径和文件名:

  1. // 处理另存文件的菜单
  2. public void ExportExcelFile(String Sql,String []Paras) {
  3.  
  4. String AbsolutePath="";
  5. // 设置对话框的风格
  6. try {
  7. UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
  8. } catch (Exception e1) {
  9. // TODO Auto-generated catch block
  10. e1.printStackTrace();
  11. }
  12. JFileChooser jFileChooser = new JFileChooser();
  13. // jFileChooser.setMultiSelectionEnabled(true);//如果要多选的话,设置这句话即可
  14. // 设置默认的保存文件名称,注意如果这样设置了之后,后面就无法取得用户改变之后的文件存储路径了,因为后面调用的 jFileChooser.getCurrentDirectory()获取的路//径就是你设置的默认文件的路径
  15. // jFileChooser.setSelectedFile(new
  16. // File("默认文件名称"));
  17. int result = jFileChooser.showSaveDialog(null);
  18. switch (result) {
  19. case JFileChooser.APPROVE_OPTION:
  20. System.out.println("11");
  21. // 这一种方法是把用户输入的作为保存的文件名 保存为excel表格 .xls
  22. AbsolutePath = jFileChooser.getCurrentDirectory() + File.separator + jFileChooser.getSelectedFile().getName()
  23. + ".xls"; //.xls 为输出excel表格 也可以指定其他格式
  24. SqlHelper sqlHelper=new SqlHelper();
  25. ResultSet rs=sqlHelper.query(Sql, Paras);
  26. File file=new File(AbsolutePath);
  27. try {
  28. this.writeExcel(rs, file); //导出数据方法
  29. } catch (SQLException e1) {
  30. e1.printStackTrace();
  31. }
  32. JOptionPane.showMessageDialog(null, "导出数据成功!");
  33. break;
  34. case JFileChooser.CANCEL_OPTION:
  35. JOptionPane.showMessageDialog(null, "取消导出!!");
  36. break;
  37. case JFileChooser.ERROR_OPTION:
  38. //System.out.println("出错啦!!");
  39. break;
  40. }
  41. }
  1. //导出数据方法:
  1. //需要一个结果集合rs 和 file文件
    public void writeExcel(ResultSet rs,File file) throws SQLException{
  2.  
  3. WritableWorkbook workbook = null;
  4.  
  5. //从rs对象中可以得到ResultSetMetaData ,从而可以得到表的列名
  6. ResultSetMetaData rsmt=rs.getMetaData();
  7. try{
  8. //首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象
  9. workbook = Workbook.createWorkbook(file);
  10. } catch (IOException e){
  11. e.printStackTrace();
  12. }
  13. if(workbook!=null){
  14. WritableSheet wsheet = workbook.createSheet("sheet1", 0);
  15. try {
  16. //获得表的列名
  17. for(int i=0;i<rsmt.getColumnCount();i++)
  18. {
  19. Label label_column1 = new Label(i, 0, rsmt.getColumnName(i+1));
  20. wsheet.addCell(label_column1);
  21. }
  22.  
  23. } catch (RowsExceededException e1) {
  24.  
  25. e1.printStackTrace();
  26. } catch (WriteException e1) {
  27.  
  28. e1.printStackTrace();
  29. }
  30. //获得表的内容
  31. int i=1;
  32. while(rs.next()){
  33.  
  34. for(int j=0;j<rsmt.getColumnCount();j++)
  35. {
  36. Label label1 = new Label(j, i, rs.getString(j+1));
  37. try {
  38. wsheet.addCell(label1);
  39.  
  40. } catch (RowsExceededException e) {
  41. e.printStackTrace();
  42. } catch (WriteException e) {
  43. e.printStackTrace();
  44. }
  45. }
  46. i++;
  47.  
  48. }
  49. try {
  50. //从内存中写入文件中
  51. workbook.write();
  52. //关闭资源,释放内存
  53. workbook.close();
  54. } catch (IOException e) {
  55. e.printStackTrace();
  56. } catch (WriteException e){
  57. e.printStackTrace();
  58. }
  59. }
  60. }
  1.  
  1.  

Java JTable 表格 获取存储路径,文件名 ,导出excel表格的更多相关文章

  1. java 实现用户自由选择字段实现导出EXCEL表格

    package com.thinkgem.jeesite.common.utils.excel; import java.io.File; import java.io.OutputStream; i ...

  2. NPOI_winfrom导出Excel表格(一)(合并单元格、规定范围加外边框、存储路径弹框选择)

    1.导出 private void btn_print_Click(object sender, EventArgs e) { DataTable dtNew = new DataTable(); d ...

  3. java导出excel表格

    java导出excel表格: 1.导入jar包 <dependency> <groupId>org.apache.poi</groupId> <artifac ...

  4. Java代码导入导出 Excel 表格最简单的方法

    import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStrea ...

  5. java中使用jxl导出Excel表格详细通用步骤

    该方法一般接收两个参数,response和要导出的表格内容的list. 一般我们将数据库的数据查询出来在页面进行展示,根据用户需求,可能需要对页面数据进行导出. 此时只要将展示之前查询所得的数据放入s ...

  6. Python 使用openpyxl导出Excel表格的时候,使用save()保存到指定路径

    在使用openpyxl导出Excel表格的使用,如何指定导出的路径呢. 使用sava(filename),会保存到当前执行文件的路径下. 使用sava("/tmp/{}.xlsx" ...

  7. spring mvc项目中导出excel表格简单实现

    查阅了一些资料,才整理出spring mvc 项目导出excel表格的实现,其实很是简单,小计一下,方便以后查阅,也希望帮助有需要的朋友. 1.导入所需要依赖(Jar包).我使用的是maven,所以坐 ...

  8. 使用poi导出Excel表格,jar包冲突

    HTTP Status 500 – Internal Server Error Type Exception Report Message Handler processing failed; nes ...

  9. 在vue中导出excel表格

    初学者学习vue开发,想把前端项目中导出Excel表格,查了众多帖子,踩了很多坑,拿出来与大家分享一下经验. 安装依赖 //npm npm install file-saver -S npm inst ...

随机推荐

  1. Poj(1459),最大流,EK算法

    题目链接:http://poj.org/problem?id=1459 Power Network Time Limit: 2000MS   Memory Limit: 32768K Total Su ...

  2. linux中快捷键

    ctrl+c 终止现在的进程 ctrl+d 退出现在的命令行,类似于exit shift+pageup/pagedown 向上或向下翻页

  3. Java的Properties类和读取.properties文件

    一..properties文件的作用 Properties属性文件在JAVA应用程序中是经常可以看得见的,也是特别重要的一类文件.它用来配置应用程序的一些信息,不过这些信息一般都是比较少的数据,没有必 ...

  4. Duilib实现 Windows资源管理器前进后退原理

    一.用两个vector保存路径 vector<wstring> vctBacks;//保存后退路径的集合 vector<wstring> vctForwards//保存前进路径 ...

  5. 转载 WebBrowser介绍——Javascript与C++互操作

    注:本文来自于 http://www.cnblogs.com/lucc/archive/2010/11/24/1886087.html WebBrowser控件是Microsoft提供的一个用于网页浏 ...

  6. 将XML文件中的内容转换为Json对象

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Xml;u ...

  7. Cheatsheet: 2013 07.09 ~ 07.20

    Mobile How to implement Android Splash Screen Migrating iOS MVC Applications to Windows Phone 8 (M-V ...

  8. Creating HTML table with vertically oriented text as table header 表头文字方向

    AS an old question, this is more like info or reminder about vertical margin or padding in % that ta ...

  9. shell脚本批量ping测试IP是否通

    #!/bin/bash rm -f result.txt cat ip.txt | fping > result.txt 2行代码就搞定,很方便,初学shell,很强大,问了下同事,但是shel ...

  10. 笔记本_thinkpad_e40_FN

    1. 开机时按F10进入bios 然后在 bios 中选择 system configuration,看一下其中的 action keys mode .如果此选项后面为 enable 的话,是不需要按 ...