我用jxl读取Excel,可为什么读出来的单元格格式全是数字格式呢?

解决方案 »

  1.   


    /**
         * 获取第X张Sheet表
         * 
         * @param x
         *            int
         */
        public void getOneSheet(int x) {
            SimpleDateFormat sf = new SimpleDateFormat("yyyy/MM/dd");
            
            
            sheet = rwbook.getSheet(x);
            
            int countRows = sheet.getRows();
            int countCol = sheet.getColumns();
            Cell c;
            for (int i=0;i<countRows;i++) {
                for(int j = 0 ;j<countCol;j++) {
                    c = sheet.getCell(j,i);                //日期类型转换
                    if (c.getType() == CellType.DATE) 
                    { 
                        DateCell dateCell=(DateCell)c;
                        System.out.print(sf.format(dateCell.getDate())+"   ");
                        continue;
                    }                System.out.print(c.getContents()+"   ");                
                }
                System.out.println();
            }    }
    不知道你的Excel格式是什么?我有个日期的小例子
      

  2.   

    嘿嘿》》》》
    你说对了,因为单元格比较多,所以在设置读取格式时,中间有几个又把ColumnInfo漏写一下,导致HashMap中设置的列与Excel中的列不对应。
    colInfo = new ColumnInfo();
    colInfo.setType("string");
    colInfo.setRequired(false);
    cfgMap.put("Project No.",colInfo);还有就是HashMap数据丢失:
    titleMap = new HashMap();

    titleMap.put("Claim Week","claimWeek");
    titleMap.put("Claimer ID","claimerID");
    titleMap.put("Claimer Name","claimerName");
    titleMap.put("Project No.","programNum");
    titleMap.put("Project Name","programName");

    titleMap.put("Sub-Project No.","projectNum");
    titleMap.put("Sub-Project Name","projectName");
    titleMap.put("Activity Code","activityCode");
    titleMap.put("Activity Description","activityDesc");
    titleMap.put("Mon","monTime");

    titleMap.put("Tue","tueTime");
    titleMap.put("Wed","wedTime");
    titleMap.put("Thu","thuTime");
    titleMap.put("Fri","friTime");
    titleMap.put("Sat","satTime");

    titleMap.put("Sun","sunTime");
    titleMap.put("Res","res"); titleMap.put("Approver ID","approverID");
    titleMap.put("Approver Name","approverName");
    titleMap.put("Is need approve","isNeed");
    System.out.println("------titleMap------1------------"+titleMap.size());打印出来红色部分没了,Key都没有,郁闷。
      

  3.   

    没用过,我用POI,你可以试试