CSVRecord Mapping не найден, ожидается один из PK - PullRequest
0 голосов
/ 06 апреля 2020

Я пытаюсь проанализировать * .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, как показано ниже enter image description here

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

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). Это все еще выдает ошибку. Я что-то упустил?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...