使用ApachePOI和java将csv文件转换为xlsx

使用ApachePOI和java将csv文件转换为xlsx,java,apache-poi,Java,Apache Poi,我有一个csv文件,它在开始时包含一些额外的数据,在开始实际表之前,在中间包含一些空行 映射时出错。文件在APACHE poi中不可读 那么现在该怎么办呢 String SAMPLECSVFILEPATH = "pathtocsvfile"; XSSFWorkbook wb=null; XSSFSheet sheet=null; Reader reader = Files.newBufferedReader(Path

我有一个csv文件,它在开始时包含一些额外的数据,在开始实际表之前,在中间包含一些空行

映射时出错。文件在APACHE poi中不可读

那么现在该怎么办呢

    String SAMPLECSVFILEPATH = "pathtocsvfile";
    XSSFWorkbook wb=null;
    XSSFSheet sheet=null;
    Reader reader = 
             Files.newBufferedReader(Paths.get(SAMPLECSVFILEPATH));
    CSVParser csvParser = new CSVParser(reader, CSVFormat.DEFAULT);
    List<CSVRecord> csvRecords = csvParser.getRecords();
    System.out.println(csvRecords);
    FileWriter writer = new FileWriter("/home/yuktamedia/Downloads/HP/report1.xlsx");
    for(CSVRecord str: csvRecords){
        writer.write(str);
    }
    writer.close();
String SAMPLECSVFILEPATH=“pathtocsvfile”;
xssfwb=null;
XSSFSheet=null;
读卡器=
Files.newBuffereder(path.get(SAMPLECSVFILEPATH));
CSVParser CSVParser=新的CSVParser(reader,CSVFormat.DEFAULT);
List csvRecords=csvParser.getRecords();
系统输出打印LN(csvRecords);
FileWriter writer=newfilewriter(“/home/yuktamedia/Downloads/HP/report1.xlsx”);
用于(CSVRecord str:csvRecords){
writer.write(str);
}
writer.close();
此代码生成文件,但不以行-列方式生成 我也提到过这个


因此,它给了我这样的文件

如果您提供:输入文件的样本、您的确切错误、您期望得到的结果以及您当前生成的文件的实际样本您没有使用任何XSSF*类来编写数据,那么将更容易为您提供帮助。您只能正确读取CSV。您仍然需要创建包含数据的行和单元格。我需要excel文件。但我的文件包含带有描述数据的初始行,所以当我映射此文件时,它将作为标题,但我的tabledata从第15行开始。我也使用xssf并创建行和单元格来完成此操作,但问题是当我通过reader.nextline读取下一行时=null此条件为true,因为我的csv文件在上一个表格数据之间包含空行