1

英語以外の文字が入ったExcelシートを持っていて、

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

StringEscapeUtils.escapeJavaを使用してユニコードに変換しようとしていた英語以外の文字の代わりに、置換文字\uFFFDを使用して文字列を返します。

//"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());
4

2 に答える 2

0

これは本当に苛立たしいことであり、jexcelapiには多くのサポートが欠けているようです。

代わりにApachePOIを使用しましたが、問題なく機能しました。

于 2012-08-24T15:55:34.410 に答える
0

Workbook の初期化時に、WorkbookSettings を使用してエンコーディングを設定してみてください。例えば:

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

次に、 getContents() メソッドがセルのコンテンツを修正する必要があります

于 2021-04-30T15:40:41.083 に答える