错误'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 不是原始的或包装器
“/”应用程序中的服务器错误。 '=' 附近有语法错误。 ')' 附近有语法错误