[英]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.