Constructs a new DataTable from an Excel file.

        Specify sheet_name_or_number to load that specific sheet.

        Headers will be inferred automatically, but if you'd prefer
        to load only a subset of all the headers, pass in a list of the
        headers you'd like as `headers`.

        ---

        Alternatively, it's quite simple to:

            reader = ExcelReader('myfile.xls')
            reader.change_sheet('default')
            data = DataTable(reader)

def fromexcel(cls, path, sheet_name_or_num=0, headers=None):
        """
        Constructs a new DataTable from an Excel file.

        Specify sheet_name_or_number to load that specific sheet.

        Headers will be inferred automatically, but if you'd prefer
        to load only a subset of all the headers, pass in a list of the
        headers you'd like as `headers`.

        ---

        Alternatively, it's quite simple to:

            reader = ExcelReader('myfile.xls')
            reader.change_sheet('default')
            data = DataTable(reader)
        """
        reader = ExcelRW.UnicodeDictReader(path, sheet_name_or_num)
        return cls(reader, headers=headers)