title: How to create a XSSFTable in Apache POI
body: <p>I am trying to create an Excel sheet that contains an Excel table using Java with the Apache POI library but I couldn't get a result file that is readable by Microsoft Excel 2016 (Office 365). This is my code:</p>
  
  <pre><code>import org.apache.poi.ss.util.AreaReference;
  import org.apache.poi.ss.util.CellReference;
  import org.apache.poi.xssf.usermodel.XSSFRow;
  import org.apache.poi.xssf.usermodel.XSSFSheet;
  import org.apache.poi.xssf.usermodel.XSSFWorkbook;
  
  import java.io.File;
  import java.io.FileOutputStream;
  import java.io.IOException;
  
  class Scratch {
      public static void main(String[] args) throws IOException {
          XSSFWorkbook workbook = new XSSFWorkbook();
          XSSFSheet sheet = workbook.createSheet("Table Sheet");
  
          XSSFRow row0 = sheet.createRow(0);
          row0.createCell(0).setCellValue("#");
          row0.createCell(1).setCellValue("Name");
  
          XSSFRow row1 = sheet.createRow(1);
          row1.createCell(0).setCellValue("1");
          row1.createCell(1).setCellValue("Foo");
  
          XSSFRow row2 = sheet.createRow(2);
          row2.createCell(0).setCellValue("2");
          row2.createCell(1).setCellValue("Bar");
  
          AreaReference area = workbook.getCreationHelper().createAreaReference(
                  new CellReference(row0.getCell(0)),
                  new CellReference(row2.getCell(1))
          );
          sheet.createTable(area);
  
          try(FileOutputStream file = new FileOutputStream(new File("workbook.xlsx"))) {
              workbook.write(file);
          }
      }
  }
  </code></pre>
  
  <p>The code runs fine but when I open the output file in Excel I get a message that the file has unreadable content.</p>
  
  <p>I have tried running the official sample and the result is the same. The official sample can be found here: <a href="https://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/CreateTable.java" rel="nofollow noreferrer">https://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/CreateTable.java</a></p>
  
  <p>I need to know the minimum code required to get a readable table.</p>
  
  <p>I am using version 4.0.0 of Apache POI with Oracle JavaSE JDK 1.8.0_172 on Windows 10.</p>