簡體   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