错误'java.lang.IllegalArgumentException'使用jxl时格式无效格式错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了错误'java.lang.IllegalArgumentException'使用jxl时格式无效格式错误相关的知识,希望对你有一定的参考价值。

您好我正在尝试使用jxl从excel文件中读取日期值,我对其他值没有问题,但日期显示错误,表示

java.lang.IllegalArgumentException:格式无效:“342 / Dec / 17”格式错误在“/ Dec / 17”,我错过了什么?

public static Object[][] readRegisters(String file) throws IOException, BiffException {

          ArrayList<Object[]> response = new ArrayList();
        Workbook workbook = Workbook.getWorkbook(new File(file));
        String[] names = workbook.getSheetNames();
        int shSrv = -1;
        for (int i = 0; i < names.length; i++) {
            if (names[i].toLowerCase().equals("registers")) {
                shSrv = i;
                break;
            }
        }
        if (shSrv < 0) {
            errores.error("file doesn't contain a sheet called registers");
            return new Object[0][0];
        }
        Sheet sheet = workbook.getSheet(shSrv);

        Cell[] row = sheet.getRow(0);

        int idsrv = -1;
        int sup = -1;
        int ver = -1;
        int pag = -1;

        for (int i = 0; i < row.length; i++) {
            Cell cell = row[i];
            if (cell.getContents().equals("ID")) {
                idsrv = i;
            }
            if (cell.getContents().equals("DATE")) {
                sup = i;
            }           
            if (cell.getContents().equals("MONEY")) {
                pag = i;
            }

        }
        if ((idsrv < 0) || (sup < 0) || (pag < 0) ) {
            errores.error("columns name error");
            return new Object[0][0];
        }     

//THIS IS WHERE I READ THE DATE > DateTime.parse((row[sup].getContents()))
        for (int i = 1; i < sheet.getRows(); i++) {
            row = sheet.getRow(i);            
            response.add(new Object[]{DateTime.parse(row[sup].getContents()),Integer.parseInt(row[idsrv].getContents()), Integer.parseInt(row[pag].getContents()) > 0 });

        }

        Object[][] table = createBiArrayFromArrayList(response);
        return table;

    }
答案

解决了它(有点),'解决方案'是将excel文件中列的格式从日期更改为字符串

以上是关于错误'java.lang.IllegalArgumentException'使用jxl时格式无效格式错误的主要内容,如果未能解决你的问题,请参考以下文章

0713-6.2.0-HBase的Thrift Server启动问题

请求 io.undertow.servlet.spec.HttpServletRequestImpl 不是原始的或包装器

请教一段错误SQL的代码是啥意思

“/”应用程序中的服务器错误。 '=' 附近有语法错误。 ')' 附近有语法错误

存储过程出现错误.关键字'ORDER'附近有语法错误.')'附近有语法错误.

Microsoft JScript 编译错误 错误 '800a03f7'