我有一个包含一些非英文字符的excel表格,当我试图通过
sheet.getColumn(column)[row].getContents()它返回包含替换字符\uFFFD的字符串,而不是我打算使用StringEscapeUtils.escapeJava转换为unicode的非英语字符。
//"L\u00F6schen" - correct
return StringEscapeUtils.escapeJava("Löschen");
//"L\uFFFDschen" - incorrect
return StringEscapeUtils.escapeJava(sheet.getColumn(column)[row].getContents());
//"L�schen" - incorrect
System.out.print(sheet.getColumn(column)[row].getContents());发布于 2012-08-24 23:55:34
这真的很令人沮丧,似乎jexcelapi缺少了很多支持。
改为使用Apache POI,它工作得很好,没有任何问题。
发布于 2021-04-30 23:40:41
尝试在初始化工作簿时通过WorkbookSettings设置编码。例如:
WorkbookSettings settings = new WorkbookSettings();
settings.setEncoding("Your java charset name");
Workbook workbook = Workbook.getWorkbook(source, settings);然后getContents()方法应该纠正单元格的内容
https://stackoverflow.com/questions/11934790
复制相似问题