title: Apache POI 4: XSSF equivalent of HSSF DocumentSummary
body: <p>I am updating code that saves tables to xls to support xlsx. To add information about the columns in the table to the xls file, this is done:</p>
  <pre><code>protected DocumentSummaryInformation writeMappings(final WorkbenchTemplate wbt)
  {
      DocumentSummaryInformation dsi = PropertySetFactory.newDocumentSummaryInformation();
      CustomProperties cps = new CustomProperties();
      List&lt;WorkbenchTemplateMappingItem&gt; wbmis = new ArrayList&lt;WorkbenchTemplateMappingItem&gt;(wbt.getWorkbenchTemplateMappingItems());
       for (WorkbenchTemplateMappingItem wbmi : wbmis)
      {
          cps.put(ConfigureXLS.POIFS_COL_KEY_PREFIX + wbmi.getViewOrder(),
                  wbmi.getCaption()
                  + &quot;\t&quot; + wbmi.getTableName() 
                  + &quot;\t&quot; + wbmi.getFieldName()
                  + &quot;\t&quot; + wbmi.getXCoord() 
                  + &quot;\t&quot; + wbmi.getYCoord()
                  + &quot;\t&quot; + wbmi.getCaption()
                  + &quot;\t&quot; + wbmi.getFieldType()
                  + &quot;\t&quot; + wbmi.getMetaData()
          );
      }
      dsi.setCustomProperties(cps);
      return dsi;
  }
  </code></pre>
  <p>The result is then added to the xls file, after the table data has been saved, like this:</p>
  <pre><code>            if (mappings != null) {
                  InputStream is = new FileInputStream(file);
                  POIFSFileSystem poifs = new POIFSFileSystem(is);
                  is.close();
                  mappings.write(poifs.getRoot(), DocumentSummaryInformation.DEFAULT_STREAM_NAME);
                  fos = new FileOutputStream(file);
                  poifs.writeFilesystem(fos);
                  fos.close();
              }
  </code></pre>
  <p>How can this be accomplished with an xlsx file?</p>