文档章节

JTabel中有JCheckBox如何导出Excel

drongHua
 drongHua
发布于 2014/06/03 17:17
字数 316
阅读 23
收藏 0

今天,我想把“登陆管理"中的人员清单,写程序用Excel导出来,原本想,这很简单啊,不就是一个Jtabel中的内容吗!结果还是有些小问题让我困扰,后来,才发现是数据类型转换的问题造成的


"访客权限","管理员权限",这4个栏位都是用JCheckBox,在AbstractTableModel中有一个方法返回的是Boolean.class,在Jtabel表格中就是
true与false,true就是会打勾

        public Class getColumnClass(int columnIndex) {  

                  // 返回每一列的数据类型  

           return typeArray.get(columnIndex);

       }



经过排查,是以下的程序导出Excel时有问题

             for(int i =0;i<b ;i++){

   

 for(int j=1;j<=a;j++){

 

     String str = null;    

     str = (String) table.getValueAt(j-1, i);  

     jxl.write.Label labelN = new jxl.write.Label(i, j, str);

     try {

      ws.addCell(labelN);

     } catch (RowsExceededException e) {

      e.printStackTrace();

     } catch (WriteException e) {

      e.printStackTrace();

     }

 }

   } 

   //写入工作表

   wwb.write();


修改之后:

 for(int j=1;j<=a;j++){

 

     String str = null;

     if (i== 5 || i== 6 || i== 7 || i== 8){

  //因为是Boolean类型,所以我先转为object,再转为string
                                 //这样,程序就可以正常的导出Excel了 
 

     Object stry =table.getValueAt(j-1, i);     

                               //强转为string

     str = stry.toString();

     if (str.equals("false")){         

        str = "";

     }

     }else{

        str = (String) table.getValueAt(j-1, i);

     }

 

     jxl.write.Label labelN = new jxl.write.Label(i, j, str);

     try {

      ws.addCell(labelN);

     } catch (RowsExceededException e) {

      e.printStackTrace();

     } catch (WriteException e) {

      e.printStackTrace();

     }

 }

   } 

   //写入工作表

    wwb.write();


© 著作权归作者所有

共有 人打赏支持
drongHua
粉丝 8
博文 8
码字总数 3761
作品 0
抚州
程序员
私信 提问
Java学习笔记之Swing(三)

Java学习笔记之Swing(三) Swing中的常用控件 你将学到: 了解如何创建文本框和文本框的实际应用; 了解如何创建复选框和复选框的实际应用; 了解如何创建单选按钮和单选按钮的实际应用; ...

FelixSmile
2016/09/22
23
0
swing 组价和容器——java swing 组件和技术(中)

固执地去写完自己剩下的java swing总结,相信时间会见证我的成长。 一、 swing组件和容器概览 1.顶层容器(JFrame,JDialog,JApplet) JFrame—框架,主要用来设计应用程序的图像界面 JDia...

静心天涯
2013/06/16
0
3
小博老师解析Java核心技术 ——JSwing选择型控件

[引言] 我们在学习Java编程的时候,如果需要开发客户端窗体类型的程序,可以使用JDK中的awt和swing库。本文开始小博老师就继续为大家演示Java窗体编程中的各类控件,今天主要讲解的是各类选择...

博为峰教研组
2016/12/21
5
0
javar容器(界面没有达到我的效果)

错误:没有语法错误,就是没有达到我的效果 怎么我的界面是乱的? import java.awt.*; import javax.swing.*; public class jframe5 extends JFrame{ JButton an1,an2; JLabel bq1,bq2; JPa...

伊斯坦堡
2015/04/11
78
0
IntelliJ IDEA编写插件深入(2):自动创建代码

最下面放源码地址,源码只适合学习,因为每个人的框架都是不一样的,我的这个生成代码也只适用于我的框架使用。 由于关于IntelliJ IDEA工具编写插件这方面的有关知识还是满少的,网上所能查到...

qq名长是因为你没给我备注
2018/01/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

二进制相关

二进制 众所周知计算机使用的是二进制,数字的二进制是如何表示的呢? 实际就是逢二进一。比如 2 用二进制就是 10。那么根据此可以推算出 5的二进制等于 10*10+1 即为 101。 在计算机中,负数以...

NotFound403
昨天
2
0
day22:

1、写一个getinterface.sh 脚本可以接受选项[i,I],完成下面任务: 1)使用格式:getinterface.sh [-i interface | -I ip] 2)当用户使用-i选项时,显示指定网卡的IP地址;当用户使用-I选项...

芬野de博客
昨天
2
0
Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现

自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注。虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭借阿里中间件团队的背景,还是得到不少...

程序猿DD
昨天
4
0
Java并发编程:深入剖析ThreadLocal

ThreadLocal 的理解 ThreadLocal,很多地方叫线程本地变量,或线程本地存储。ThreadLocal为变量在每个线程中都创建了一个副本,每个线程可以访问自己内部的副本变量。===》解决的问题是线程间...

细节探索者
昨天
3
0
【Python3之异常处理】

一、错误和异常 1.错误 代码运行前的语法或者逻辑错误 语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) def test: ^SyntaxError: invalid...

dragon_tech
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部