# ImportAdapterExcel (ARX Developer Documentation)

org.deidentifier.arx.io

## Class ImportAdapterExcel

- java.lang.Object
- - org.deidentifier.arx.io.ImportAdapter
  - - org.deidentifier.arx.io.ImportAdapterExcel

- All Implemented Interfaces:
    java.util.Iterator<java.lang.String[]>

      public class ImportAdapterExcel
      extends ImportAdapter

  Import adapter for Excel files This adapter can import data from Excel files. It handles both XLS and XLSX files. The file type itself is defined by `ImportConfigurationExcel`. The files are accessed using Apache POI.
  See Also:
    Aapache POI

- - ### Field Summary

    - ### Fields inherited from class org.deidentifier.arx.io.ImportAdapter

      `dataTypes, header, indexes`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `ImportAdapterExcel(ImportConfigurationExcel config)` Creates a new instance of this object with given configuration Depending upon the file type it either uses HSSF or XSSF to access the file.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected int[]` | `getIndexesToImport()` Returns an array with indexes of columns that should be imported Only columns listed within `#column` will be imported.
    `int` | `getProgress()` Returns the percentage of data that has already been returned The basis for this calculation is the row currently being accessed.
    `boolean` | `hasNext()` Indicates whether there is another element to return This returns true when the file contains another line, which could be accessed by `iterator`.
    `java.lang.String[]` | `next()` Returns the next row The returned element is sorted as defined by `ImportColumn#index` and contains as many elements as there are columns selected to import from `ImportAdapter.indexes`.
    `void` | `remove()` Dummy.

    - ### Methods inherited from class org.deidentifier.arx.io.ImportAdapter

      `create, getColumnDatatypes, getConfig, getHeader`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ImportAdapterExcel

          protected ImportAdapterExcel(ImportConfigurationExcel config)
                                throws java.io.IOException

      Creates a new instance of this object with given configuration Depending upon the file type it either uses HSSF or XSSF to access the file. In both cases `iterator` will be assigned a reference to an iterator, which can then be used to access the actual data on a row by row basis.
      Parameters:
        `config` - `config`
      Throws:
        `java.io.IOException` - In case file doesn't contain actual data

  - ### Method Detail

    - #### getProgress

          public int getProgress()

      Returns the percentage of data that has already been returned The basis for this calculation is the row currently being accessed.
      Specified by:
        `getProgress` in class `ImportAdapter`
      Returns:
      See Also:
        `#currentRow}`, `#totalRows}`

    - #### hasNext

          public boolean hasNext()

      Indicates whether there is another element to return This returns true when the file contains another line, which could be accessed by `iterator`.
      Returns:

    - #### next

          public java.lang.String[] next()

      Returns the next row The returned element is sorted as defined by `ImportColumn#index` and contains as many elements as there are columns selected to import from `ImportAdapter.indexes`. The first row will always contain the names of the columns. `headerReturned` is used to keep track of that.
      Returns:

    - #### remove

          public void remove()

      Dummy.

    - #### getIndexesToImport

          protected int[] getIndexesToImport()

      Returns an array with indexes of columns that should be imported Only columns listed within `#column` will be imported. This iterates over the list of columns and returns an array with indexes of columns that should be imported.
      Returns:
        Array containing indexes of columns that should be imported