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();
- }
- }
- }
Java JTable 表格 获取存储路径,文件名 ,导出excel表格的更多相关文章
- java 实现用户自由选择字段实现导出EXCEL表格
package com.thinkgem.jeesite.common.utils.excel; import java.io.File; import java.io.OutputStream; i ...
- NPOI_winfrom导出Excel表格(一)(合并单元格、规定范围加外边框、存储路径弹框选择)
1.导出 private void btn_print_Click(object sender, EventArgs e) { DataTable dtNew = new DataTable(); d ...
- java导出excel表格
java导出excel表格: 1.导入jar包 <dependency> <groupId>org.apache.poi</groupId> <artifac ...
- Java代码导入导出 Excel 表格最简单的方法
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStrea ...
- java中使用jxl导出Excel表格详细通用步骤
该方法一般接收两个参数,response和要导出的表格内容的list. 一般我们将数据库的数据查询出来在页面进行展示,根据用户需求,可能需要对页面数据进行导出. 此时只要将展示之前查询所得的数据放入s ...
- Python 使用openpyxl导出Excel表格的时候,使用save()保存到指定路径
在使用openpyxl导出Excel表格的使用,如何指定导出的路径呢. 使用sava(filename),会保存到当前执行文件的路径下. 使用sava("/tmp/{}.xlsx" ...
- spring mvc项目中导出excel表格简单实现
查阅了一些资料,才整理出spring mvc 项目导出excel表格的实现,其实很是简单,小计一下,方便以后查阅,也希望帮助有需要的朋友. 1.导入所需要依赖(Jar包).我使用的是maven,所以坐 ...
- 使用poi导出Excel表格,jar包冲突
HTTP Status 500 – Internal Server Error Type Exception Report Message Handler processing failed; nes ...
- 在vue中导出excel表格
初学者学习vue开发,想把前端项目中导出Excel表格,查了众多帖子,踩了很多坑,拿出来与大家分享一下经验. 安装依赖 //npm npm install file-saver -S npm inst ...
随机推荐
- Poj(1459),最大流,EK算法
题目链接:http://poj.org/problem?id=1459 Power Network Time Limit: 2000MS Memory Limit: 32768K Total Su ...
- linux中快捷键
ctrl+c 终止现在的进程 ctrl+d 退出现在的命令行,类似于exit shift+pageup/pagedown 向上或向下翻页
- Java的Properties类和读取.properties文件
一..properties文件的作用 Properties属性文件在JAVA应用程序中是经常可以看得见的,也是特别重要的一类文件.它用来配置应用程序的一些信息,不过这些信息一般都是比较少的数据,没有必 ...
- Duilib实现 Windows资源管理器前进后退原理
一.用两个vector保存路径 vector<wstring> vctBacks;//保存后退路径的集合 vector<wstring> vctForwards//保存前进路径 ...
- 转载 WebBrowser介绍——Javascript与C++互操作
注:本文来自于 http://www.cnblogs.com/lucc/archive/2010/11/24/1886087.html WebBrowser控件是Microsoft提供的一个用于网页浏 ...
- 将XML文件中的内容转换为Json对象
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Xml;u ...
- Cheatsheet: 2013 07.09 ~ 07.20
Mobile How to implement Android Splash Screen Migrating iOS MVC Applications to Windows Phone 8 (M-V ...
- 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 ...
- shell脚本批量ping测试IP是否通
#!/bin/bash rm -f result.txt cat ip.txt | fping > result.txt 2行代码就搞定,很方便,初学shell,很强大,问了下同事,但是shel ...
- 笔记本_thinkpad_e40_FN
1. 开机时按F10进入bios 然后在 bios 中选择 system configuration,看一下其中的 action keys mode .如果此选项后面为 enable 的话,是不需要按 ...