Сопоставление CSVRecord не найдено, ожидается один из PK

Я пытаюсь разобрать файл *.xlsx

public static void initialize(String fileName) throws IOException {
Reader reader = new FileReader(fileName, StandardCharsets.UTF_8);       
CSVParser csvParser = new CSVParser(reader, CSVFormat.EXCEL.withFirstRecordAsHeader().withIgnoreHeaderCase().withTrim());


for (CSVRecord record : csvParser) {
    System.out.println(record.toString());
    String amount = record.get("Amount");
    String abcDate = record.get("abcDate"); 

    System.out.println(amount + " and " + abcDate);
}
csvParser.close();
}

Размер xlsx показан ниже.

Выдает ошибку

CSVRecord [comment='null', recordNumber=1, values=[?ˆ9LìÒ™ÈsbgÙ®|Èl!õùUSh9i°bžr:"y_dlÀóD›¿ý|-NœÈR"4ø2ÏGÇ% õZ´4ñË?yÄ7    ëÈðÉ‚‹¨Þ
Exception in thread "main" java.lang.IllegalArgumentException: Mapping for Amount not found, expected one of [PK
at org.apache.commons.csv.CSVRecord.get(CSVRecord.java:103)

Я пробовал с разными StandardCharsets(ISO_8859_1, UTF-16, UTF-16BE, UTF16-LE). Это все еще вызывает ошибку. Я что-то пропустил?

0 ответов

Другие вопросы по тегам