Как читать CSV-файл Excel с использованием Apache CSV
У меня есть файл CSV (Excel), в котором все данные доступны в ячейке, как Excel. Я использую Apache CSV для разбора Excel типа CSV. При разборе данных каждый мой символ разделяется нулевым символом между ними. Этот CSV-файл я получаю из другого источника, но когда я копирую одни и те же данные CSV-файла Excel и вручную создаю CSV-файл Excel, мой приведенный ниже код может получить желаемый результат.
Мой код:
InputStream is =null;
Reader in =null;
is = new ByteArrayInputStream(excelCSVFile);
in = new InputStreamReader(is);
CSVParser parser = new CSVParser(in, CSVFormat.EXCEL.withHeader("EMPLOYEE_ID","NAME","DOJ",
"MOBILE_NO").withSkipHeaderRecord(true).withTrim(true));
List<CSVRecord> records = parser.getRecords();
for (CSVRecord record : records) {
System.out.println("Employee Id::"+record.get("EMPLOYEE_ID"));
System.out.println("Employee Name::"+record.get("NAME"));
}
Я получаю вывод здесь приведенным выше кодом:
Когда я проверил значение ASCII для пустого символа, я получил "0", поскольку значение означает нулевой символ.
1 ответ
is = new FileInputStream(excelCSVFile);
вместо
is = new ByteArrayInputStream(excelCSVFile);
Также обратите внимание, что поля чувствительны к регистру.