Я конвертирую CSV-файл в Excel, используя CsvMapReader.Но для нескольких файлов я получаю исключение, как показано ниже:
Исключение в потоке "main" org.supercsv.exception.SuperCsvException: массив nameMapping и sourceList должны иметь одинаковый размер (nameMapping length = 0,sourceList size = 11) context = null
Перепробовал много альтернатив, но не смог решить.
Пожалуйста, помогите решить эту проблему, вставив часть моего кода:
String fName = filename;
String outputFile = "";
Workbook wb = new HSSFWorkbook();
FileOutputStream fileOut;
if(!new File(filename).exists()){
System.out.println("File Not Found");
} else{
try {
ICsvMapReader csvMapReader = new CsvMapReader(new FileReader(
fName), CsvPreference.EXCEL_PREFERENCE);
final String[] headers = csvMapReader.getHeader(true);
Map csvRow;
outputFile = fName.substring(0, fName.length() - 4);
fileOut = new FileOutputStream(outputFile + ".xls");
Sheet sheet = wb.createSheet("products");
int rowNo = 0;
createExcelHeader(sheet, rowNo, fName); //Seperate function
**while ((csvRow = csvMapReader.read()) != null) {** //getting exception at this point
rowNo++;
Row excelRow = sheet.createRow(rowNo);
createExcelRow(csvRow, excelRow, fName); //Seperate function
}
csvMapReader.close();
wb.write(fileOut);
fileOut.close();
System.out.println("*");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}