POIを使用してXLSファイルとXLSXファイルを正常に解析しています。しかし、Excelスプレッドシートから、中国語や日本語などのUTF-8エンコードされた文字などの特殊文字を正しく抽出できません。 UTF-8でエンコードされたcsvまたはタブで区切られたファイルからデータを抽出する方法はわかっていますが、Excelファイルでは不運です。誰も助けることができますか?POIを使用してExcelファイルのUTF-8文字を解析する方法
(編集:コメントからコードスニペット)
HSSFSheet sheet = workbook.getSheet(worksheet);
HSSFEvaluationWorkbook ewb = HSSFEvaluationWorkbook.create(workbook);
while (rowCtr <= lastRow && !rowBreakOut)
{
Row row = sheet.getRow(rowCtr);//rows.next();
for (int col=firstCell; col<lastCell && !breakOut; col++) {
Cell cell;
cell = row.getCell(col,Row.RETURN_BLANK_AS_NULL);
if (ctype == Cell.CELL_TYPE_STRING) {
sValue = cell.getStringCellValue();
log.warn("String value = "+sValue);
String encoded = URLEncoder.encode(sValue, "UTF-8");
log.warn("URL-encoded with UTF-8: " + encoded);
....
あなたが使用しているPOI APIの部分を指すことができますか、いくつかのコードを表示できますか?これは、デバッグに役立つAPIの変更や診断をお勧めします。 –
Excelは文字をUTF-8として保存しないので、恐らくどこか混乱していると思います。 – Gagravarr
Excelファイルのスクリーンショット: – user1198370