Java Excel在打开使用POI API创建的文件时损坏

Java Excel在打开使用POI API创建的文件时损坏,java,apache-poi,Java,Apache Poi,在执行上述代码时,文件创建成功。但文件在打开过程中被发现已损坏。当您更正语句顺序后,应该是这样的… 因此,无需事先通过file.createNewFile()创建文件 public static void createworkbook() throws IOException, InvalidFormatException{ File file = new File("C:\\Workspace\\Selenium_2.53\\src\\InputFiles\\webuyPurchas

在执行上述代码时,文件创建成功。但文件在打开过程中被发现已损坏。

当您更正语句顺序后,应该是这样的…
因此,无需事先通过
file.createNewFile()
创建文件

public static void createworkbook() throws IOException, InvalidFormatException{

    File file = new File("C:\\Workspace\\Selenium_2.53\\src\\InputFiles\\webuyPurchase.xlsx");
    file.createNewFile();
    fileOut = new FileOutputStream(file);

    XSSFWorkbook workbook = new XSSFWorkbook();
    workbook.write(fileOut);
    XSSFSheet spreadsheet = workbook.createSheet("Products");
    String sheetname =  workbook.getSheetAt(0).getSheetName();
    System.out.println(sheetname);
    fileOut.close();
    // workbook.createSheet("Products");
    System.out.println("workbook is created");
}

当您更正语句的顺序时,应该是这样的…
因此,无需事先通过
file.createNewFile()
创建文件

public static void createworkbook() throws IOException, InvalidFormatException{

    File file = new File("C:\\Workspace\\Selenium_2.53\\src\\InputFiles\\webuyPurchase.xlsx");
    file.createNewFile();
    fileOut = new FileOutputStream(file);

    XSSFWorkbook workbook = new XSSFWorkbook();
    workbook.write(fileOut);
    XSSFSheet spreadsheet = workbook.createSheet("Products");
    String sheetname =  workbook.getSheetAt(0).getSheetName();
    System.out.println(sheetname);
    fileOut.close();
    // workbook.createSheet("Products");
    System.out.println("workbook is created");
}

嗯。。原因可能是什么?先写一个空工作簿,然后修改它。。。也许有人应该反过来做…嗨,kiwiwings,我不知道文件为什么会损坏,上次我创建文件时,它没有工作表,这就是为什么它会出错,现在我创建了工作表init并访问了它的名称,这意味着工作表存在,仍然会出错。好的。。。看起来你不明白,虽然你自己写了答案“它没有纸”。请移动行
工作簿。写入(文件输出)再往下3行…感谢一吨奇异翼,它现在可以工作了。@奇异翼你应该把它作为一个答案,考虑到它是一个(即使这个问题有点傻)嗯。。原因可能是什么?先写一个空工作簿,然后修改它。。。也许有人应该反过来做…嗨,kiwiwings,我不知道文件为什么会损坏,上次我创建文件时,它没有工作表,这就是为什么它会出错,现在我创建了工作表init并访问了它的名称,这意味着工作表存在,仍然会出错。好的。。。看起来你不明白,虽然你自己写了答案“它没有纸”。请移动行
工作簿。写入(文件输出)再往下3行……感谢大量的奇异鸟,它现在可以工作了。@奇异鸟你应该把它作为一个答案,考虑到它是一个(即使这个问题有点傻)