I thought that there was a way to save a workbook in place when using a File type input. But I can't find the secret sauce. If I open a Workbook using WorkbookFactory(new File(filename)); I cannot write to an output stream based on the same file name. If I write the modified workbook to an output stream based on a different file name, the original file is updated, but now I have a second file. If I do not write the changes, but instead just close the workbook, it does not create the second file, but it also does not update the existing file.
So how can I update an existing spreadsheet without creating a secondary file? I am guessing that if I use an InputStream to open the initial file, I can write the updated workbook to an OutputStream without the original being updated?