覆盖当前正在使用的文件

时间:2015-11-16 21:50:26

标签: excel file

我想在当前打开/正在使用的Excel工作簿上创建新工作表。在我的程序中,我要求用户提供一个新的工作表名称,但是当我打开Excel文件时,它会返回一个FileNotFoundException,因为它无法访问该文件,因为它正被另一个进程使用。&#34 ;有可能解决这个问题吗?或者我应该要求用户先关闭文件吗?

public void exportToExcel() {
    String excelFileName = null;                                // the name/directory/address of the excel file created/selected
    FileInputStream excelFileIn = null;                         // allows us to connect to the Excel file so we can read it
    FileOutputStream excelFileOut = null;                       // allows us to connect to the Excel file so we can write to it
    ExcelFileUtility eUtil = new ExcelFileUtility();            // used open an excel file

    if(columnsQuery != null) {
        try {
            excelFileName = eUtil.getFile(FileExtensions.XLS);

            if(excelFileName != null) {
                excelFileIn = new FileInputStream(new File(excelFileName));
                workbook = new HSSFWorkbook(excelFileIn);

                exportColsToWorkbook(columnsQuery);

                excelFileOut = new FileOutputStream(excelFileName);
                workbook.write(excelFileOut);

                // close everything
                workbook.close();
                excelFileIn.close();
                excelFileOut.close();
            }
        }
        catch (IOException e) {
            e.printStackTrace();
        }
        catch (SQLException e) {
            e.printStackTrace();
        }

    }
}

0 个答案:

没有答案