title: Updating existing Excel file in Java Apache POI without using InputStream
body: <p>I am trying to update an existing Excel file (xlsx).</p>
  
  <p>Constructors like <code>XSSFWorkbook(java.io.File file)</code> and <code>XSSFWorkbook(OPCPackage pkg)</code> open the file in a read only mode and don't allow modifications. So I have to use <code>XSSFWorkbook(java.io.InputStream is)</code> and the memory footprint (JVM memory and Java Heap) is too high. I can't use VM args to set max memory size, as I have to respect the memory requirements of other programs running in parallel.</p>
  
  <p>Using <code>SXSSFWorkbook</code> was another solution but it is essentially a wrapper around <code>XSSFWorkbook</code>. Same problems persist that were with <code>XSSFWorkbook</code>.</p>
  
  <p>I went to other posts at SO and couldn't find any relevant answer. Can anybody help me with this please? I am fine with storing temporary files.</p>