繁体   English   中英

在jexcelapi中抓取一个非英文字符

[英]Grabbing a non-english character in jexcelapi

我有一张 Excel 表格,其中包含一些非英文字符,当我尝试通过以下方式获取内容时

sheet.getColumn(column)[row].getContents()

它返回带有替换字符 \� 的字符串,而不是我打算使用 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());

这真的很令人沮丧,而且 jexcelapi 似乎缺少很多支持。

而是使用Apache POI ,它运行良好,没有任何问题。

初始化 Workbook 时尝试通过 WorkbookSettings 设置编码。 例如:

WorkbookSettings settings = new WorkbookSettings();
settings.setEncoding("Your java charset name");
Workbook workbook = Workbook.getWorkbook(source, settings);

然后 getContents() 方法应该更正单元格的内容

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM