Closed RuthlessJie closed 2 months ago
代码: is = file.getInputStream();
EasyExcel.read(is, Rqjtmhat.class, new ReadListener
@Override
public void invoke(Rqjtmhat r, AnalysisContext context) {
//把解析到的每一行数据都存入list中
userVOS.add(r);
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
}
}).charset(StandardCharsets.UTF_8).excelType(ExcelTypeEnum.CSV).sheet().doRead();
String fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.csv";
// 一个文件一个reader
try (ExcelReader excelReader = EasyExcel.read(fileName, DemoData.class, new DemoDataListener()).build()) {
ReadWorkbookHolder readWorkbookHolder = excelReader.analysisContext().readWorkbookHolder();
// 判断只有csv 才需要修改配置信息
if (readWorkbookHolder instanceof CsvReadWorkbookHolder) {
CsvReadWorkbookHolder csvReadWorkbookHolder = (CsvReadWorkbookHolder)readWorkbookHolder;
// 底层读取csv 用的是apache的common-csv 所以设置 CsvFormat即可
ucsvReadWorkbookHolder.setCsvFormat(csvReadWorkbookHolder.getCsvFormat().withDelimiter(';'));
}
ReadSheet readSheet = EasyExcel.readSheet(0).build();
excelReader.read(readSheet);
}
不知道您是否已经解决该问题?我们先暂时关闭这个问题,如果还存在问题请重新Reopen这个issue。
问题描述
客户提供的csv文件是用TAB制表符分割的,读取出来就都是空,我把制表符替换成逗号就可以正常使用了。 我怎么能设置读取csv文件的时候分隔符是什么?