我无法使用poi 4.1.2(xssf)将excel表中的国际货币和会计编号格式读取到java独立应用程序中。只能读取us语言环境符号,但无法读取java中的其他货币符号。使用货币符号在java dataformatter中只显示某些格式的单元格值,其他格式则显示为?(例如:i/p:$10.00 o/p:?10.00)。
会计编号格式无法读取欧元货币符号(异常:非法参数异常)和某些显示单元格数据的货币符号(货币符号和值)。代码:
对于(int i=1;i<=行;i++){
String ExcelFilename = sheet.getRow(i).getCell(<cell no of file>).getRichStringCellValue().getString().trim();
if(ExcelFilename.equals("<file name>")) {
for(int j=0;j<columns;j++) {
DataFormatter formatter = new DataFormatter();
cell = sheet.getRow(i).getCell(j,Row.MissingCellPolicy.CREATE_NULL_AS_BLANK);
String check= "";
switch (cell.getCellType()) {
case BLANK:
check= formatter.formatCellValue(cell);
break;
case NUMERIC:
check= formatter.formatCellValue(cell);
break;
case BOOLEAN:
check =formatter.formatCellValue(cell);
break;
case STRING:
check=formatter.formatCellValue(cell);
break;
case FORMULA:
check= formatter.formatCellValue(cell);
break;
default:
break;
}
}
}
}
例外情况:
€ 100.00-欧元
从excel表格会计->货币类型为欧元->运行类后,我得到以下异常。
org.apache.poi.ss.format.cellformat警告:无效格式:“”[$€-2]\ * #,##0.00_ ;" java.lang.illegalargumentexception:不支持[]格式块“[”在“\u”[$€-2] *#,##0.00#带c2:空
同样,我也得到了一些其他会计格式货币符号例外。输入(excel表)-
输出(java)-100
excel工作表(info.xlsx):
输出应毫无例外地显示,并带有java中的单元格数据(符号和数值)。
暂无答案!
目前还没有任何答案,快来回答吧!