首页 > 解决方案 > The fomat and extension of "file.csv" doesn't match

问题描述

I am trying to create the csv file with data as follows

        XSSFWorkbook workbook = new XSSFWorkbook();
        XSSFSheet sheet = workbook.createSheet("Sheet1");
        String fileLocation = null;
        try { 
            // Set the header columns name for worksheet
            createHeader(workbook, sheet);
            // populate the data
            createWorkbookRows(ker, sheet, kerList, AerList);

            String tempDir = System.getProperty("java.io.tmpdir");
            File file = new File(tempDir);
            fileLocation = file.getAbsolutePath() + FileSystems.getDefault().getSeparator() + "MyData.csv";
            FileOutputStream outputStream = new FileOutputStream(fileLocation);
            workbook.write(outputStream);
            }catch(Exception e){
            }

With the above code I am able to generate the csv file, but when I try to open the file the below error it is showing

enter image description here

When I click on yes it is showing the data properly in excel file.

I have verified the csv file by opening in Notepad++ also it is showing in non understandable language instead of comma seperated.

Please suggest how can I solve the above issue.

标签: javaexcelcsvapache-poiexport-to-csv

解决方案


POI writes a binary Excel file. Your extension "csv" is wrong. It should be "xlsx" because you use XSSFWorkbook.


推荐阅读