日期:2014-05-20  浏览次数:20806 次

将excel导入JTable中
请问如何将excel中的数据导入到JTable中,excel中如何显示数据JTable中也要以同样的格式显示。

PS:excel中的数据显示格式不是固定的,如下图:
http://hi.csdn.net/attachment/201006/18/3128219_1276846975wivV.jpg


这导致我不知道该如何将excel中的数据在JTable中显示。因为JTable中只是一个简单的二维表,即m行n列,但是没有rolspan和colspan【我不知道有没有】。所以我用JTextArea代替JTable,然后用jxl读取excel,但是取出来的数据在JTextArea中显示也不对。如果用poi读取的话,效果应该跟jxl差不多吧。

各位大侠,不知道如何才能将excel中的数据显示在JTable中呢?而且格式一样。



------解决方案--------------------
UP and MARK
------解决方案--------------------
来了也不会呀。没做过把excel中的数据显示在JTable中
------解决方案--------------------
Java code

package test;

// 生成Excel的类 
import java.io.File;

import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

public class CreateExcel {
    public static void main(String args[]) {
        try {
            // 打开文件
            WritableWorkbook book = Workbook.createWorkbook(new File("aa.xls"));
            // 生成名为“第一页”的工作表,参数0表示这是第一页
            WritableSheet sheet = book.createSheet("第一页",0);
            // 在Label对象的构造子中指名单元格位置是第一列第一行(0,0)
            // 以及单元格内容为test
            //Label label = new Label(0,0,"testssss");
            for(int i=0;i<10;i++){
                for (int j=0;j<10;j++){
                    Label label = new Label(i,j,i*j+"");
                    sheet.addCell(label);
                }
            }
            // 将定义好的单元格添加到工作表中
            
            // 生成一个保存数字的单元格 必须使用Number的完整包路径,否则有语法歧义 单元格位置是第二列,第一行,值为789.123        
            jxl.write.Number number = new jxl.write.Number(1, 0, 555.12541);
            sheet.addCell(number);
            // 写入数据并关闭文件
            book.write();
            book.close();

        } catch (Exception e) {
            System.out.println(e);
        }
    }
}

------解决方案--------------------
先要将EXCEL里的数据导入到数据库的一张临时表,再从表里取出来到JTable或者其他控件中去显示。
我见过有人做WEB的时候就是这样的。

我最近也想这样,直接将EXCEL的数据读入到控件里。在也CSDN上提问了,但没人回答。呵呵!
希望能等来高手帮助解答。
------解决方案--------------------
先把EXCEL转换为临时XML,然后使用JDOM,DOM,DOM4J等技术还原格式和数据到JTABLE中.

还有一种是,把EXCEL的数据先取出放入数据库,从数据库读出放入JTABLE中。
------解决方案--------------------
至于JTABLE的用法API上很详细的,楼主看三分钟API就会用了....