3

我有一个 CSV 文件(excel),其中每个数据都可以在 excel 等单元格中使用。我正在使用 Apache CSV 来解析 excel 类型的 csv。在解析数据时,我的每个字符之间都被空字符分隔。我从不同的来源获得这个 CSV 文件,但是当我复制相同的 excel csv 文件数据并手动制作一个 excel csv 文件时,我的下面的代码能够获得所需的输出。

我的 CSV Excel:
MyCSVExcel.jpg

我的代码:

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”,因为值表示空字符。

我希望得到这样的输出:
实际输出

4

1 回答 1

0
is = new FileInputStream(excelCSVFile);

代替

is = new ByteArrayInputStream(excelCSVFile);

另请注意,这些字段区分大小写。

于 2018-03-28T14:37:46.640 回答