请问如何将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中呢?而且格式一样。

解决方案 »

  1.   

    晕,再发一次。请问如何将excel中的数据导入到JTable中,excel中如何显示数据JTable中也要以同样的格式显示。PS:excel中的数据显示格式不是固定的,如下图:这导致我不知道该如何将excel中的数据在JTable中显示。因为JTable中只是一个简单的二维表,即m行n列,但是没有rolspan和colspan【我不知道有没有】。所以我用JTextArea代替JTable,然后用jxl读取excel,但是取出来的数据在JTextArea中显示也不对。如果用poi读取的话,效果应该跟jxl差不多吧。各位大侠,不知道如何才能将excel中的数据显示在JTable中呢?而且格式一样。
      

  2.   

    来了也不会呀。没做过把excel中的数据显示在JTable中
      

  3.   


    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);
    }
    }
    }
      

  4.   


    package test;// 读取Excel的类 
    import java.io.File;import jxl.Cell;
    import jxl.Sheet;
    import jxl.Workbook;public class ReadExcel {
    public static void main(String args[]) {
    try {
    Workbook book = Workbook.getWorkbook(new File("test.xls "));
    //获得第一个工作表对象
    Sheet sheet = book.getSheet(0);
    //得到第一列第一行的单元格
    int rows = sheet.getRows();
    int column = sheet.getColumns();
    for (int i=0;i<rows;i++){
    for (int j=0;j<column;j++){
    Cell cell1 = sheet.getCell(j, i);
    String result = cell1.getContents();
    System.out.print(result+",");
    }
    System.out.println("-----------------------------");
    }

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

  5.   


    package test;import java.io.File;import jxl.Workbook;
    import jxl.write.Label;
    import jxl.write.WritableSheet;
    import jxl.write.WritableWorkbook;public class UpdateExcel {
    public static void main(String args[]) {
    try {
    //Excel获得文件
    Workbook wb = Workbook.getWorkbook(new File("test.xls"));
    //打开一个文件的副本,并且指定数据写回到原文件
    WritableWorkbook book = Workbook.createWorkbook(new File("test.xls"), wb);
    //添加一个工作表
    WritableSheet sheet = book.createSheet("第二页 ", 1);
    sheet.addCell(new Label(0, 0, "第二页的测试数据 "));
    book.write();
    book.close();
    } catch (Exception e) {
    System.out.println(e);
    }
    }
    }
      

  6.   

    汗楼上的兄弟提供的方法我用过了。
    读取jxl我会读取,但是我的问题是如何放在JTable中
      

  7.   

    先要将EXCEL里的数据导入到数据库的一张临时表,再从表里取出来到JTable或者其他控件中去显示。
    我见过有人做WEB的时候就是这样的。我最近也想这样,直接将EXCEL的数据读入到控件里。在也CSDN上提问了,但没人回答。呵呵!
    希望能等来高手帮助解答。
      

  8.   

    先把EXCEL转换为临时XML,然后使用JDOM,DOM,DOM4J等技术还原格式和数据到JTABLE中.还有一种是,把EXCEL的数据先取出放入数据库,从数据库读出放入JTABLE中。
      

  9.   

    至于JTABLE的用法API上很详细的,楼主看三分钟API就会用了....
      

  10.   

    伙计,你先吧从Excel中读出的东西存入数组,再把数组传入JTable