| Подпись | Описание | Тип данных | 
| Входной файл Excel | Файл Excel, который будет конвертирован. | File | 
| Выходная таблица | Выходная таблица. | Table | 
| Лист (Дополнительный) | Имя отдельного листа файла Excel для импорта. Если не указано иное, используется первый лист книги. | String | 
| Строка имен полей (Дополнительный) | Строка листа Excel, в которой содержатся значения, которые будут использоваться в качестве имен полей. Значение по умолчанию равно 1. Заданная строка будет пропущена при конвертации записей в выходную таблицу. Чтобы не использовать какие-то значения в строке в качестве имен полей, задайте для этого параметра значение 0, и для выходных полей будут использоваться имена с буквами соответствующих столбцов (например, COL_A, COL_B, COL_C). Если ячейка в определенном столбце пуста, имя выходного поля будет основаться на букве этого столбца. К примеру, если во входных данных есть три столбца, а значения в строке - "city", "" и "country" в столбцах A, B и C, соответственно, в выходной таблице будут следующие имена полей: city, COL_B и country. | Long | 
| Диапазон ячеек (Дополнительный) | Обрабатываемый диапазон ячеек. Ячейка - пересечение строки и столбца. Столбцы обозначаются буквами (A, B, C, D), а строки - цифрами (1, 2, 3, 4). У каждой ячейки есть адрес, основанный на строке и столбце. Например, ячейка B9 находится на пересечении столбца B и строки 9. Диапазон ячеек задает прямоугольник - от левой верхней ячейки до нижней правой ячейки, адреса которых разделены двоеточием (:). Диапазоны ячеек включают граничные ячейки, поэтому диапазон A2:C10 будет включать все значения в столбцах от A до C и все значения в строках со 2 по 10. Имена выходных полей являются производными от значений ячеек в строке 1, независимо от строк, указанных в диапазоне. К примеру, если задан диапазон B2:D10, имена полей будут браться из ячеек B1, C1 и D1. Вот некоторые примеры допустимых диапазонов ячеек: 
 Вот некоторые примеры некорректных диапазонов ячеек: 
 | String | 
Краткая информация
Конвертирует файлы Microsoft Excel в таблицу.
Использование
- В качестве входных данных поддерживаются форматы Excel Workbooks (.xlsx) и Excel 5.0/95 Workbook (.xls). 
- Тип данных в выходном поле зависит от значений и форматирования ячеек во входном столбце. Выходными типами данных могут быть следующие: двойной точности, длинное целое, текст и дата. Если входной столбец содержит более одного типа данных или формата, выходное поле будет текстового типа. 
- Значение "#N/A" во входных ячейках Excel будет конвертировано в null. Если формат выходной таблицы (например, таблица dBASE) не поддерживает значения null, будет использоваться другое значение (0 для целочисленных полей или пустая строка - для текстовых). 
Параметры
arcpy.conversion.ExcelToTable(Input_Excel_File, Output_Table, {Sheet}, {field_names_row}, {cell_range})| Имя | Описание | Тип данных | 
| Input_Excel_File | Файл Excel, который будет конвертирован. | File | 
| Output_Table | Выходная таблица. | Table | 
| Sheet (Дополнительный) | Имя отдельного листа файла Excel для импорта. Если не указано иное, используется первый лист книги. | String | 
| field_names_row (Дополнительный) | Строка листа Excel, в которой содержатся значения, которые будут использоваться в качестве имен полей. Значение по умолчанию равно 1. Заданная строка будет пропущена при конвертации записей в выходную таблицу. Чтобы не использовать какие-то значения в строке в качестве имен полей, задайте для этого параметра значение 0, и для выходных полей будут использоваться имена с буквами соответствующих столбцов (например, COL_A, COL_B, COL_C). Если ячейка в определенном столбце пуста, имя выходного поля будет основаться на букве этого столбца. К примеру, если во входных данных есть три столбца, а значения в строке - "city", "" и "country" в столбцах A, B и C, соответственно, в выходной таблице будут следующие имена полей: city, COL_B и country. | Long | 
| cell_range (Дополнительный) | Обрабатываемый диапазон ячеек. Ячейка - пересечение строки и столбца. Столбцы обозначаются буквами (A, B, C, D), а строки - цифрами (1, 2, 3, 4). У каждой ячейки есть адрес, основанный на строке и столбце. Например, ячейка B9 находится на пересечении столбца B и строки 9. Диапазон ячеек задает прямоугольник - от левой верхней ячейки до нижней правой ячейки, адреса которых разделены двоеточием (:). Диапазоны ячеек включают граничные ячейки, поэтому диапазон A2:C10 будет включать все значения в столбцах от A до C и все значения в строках со 2 по 10. Имена выходных полей являются производными от значений ячеек в строке 1, независимо от строк, указанных в диапазоне. К примеру, если задан диапазон B2:D10, имена полей будут браться из ячеек B1, C1 и D1. Вот некоторые примеры допустимых диапазонов ячеек: 
 Вот некоторые примеры некорректных диапазонов ячеек: 
 | String | 
Пример кода
В следующем скрипте окна Python показано, как используется функция ExcelToTable в режиме прямого запуска.
import arcpy
arcpy.env.workspace = "c:/data"
arcpy.conversion.ExcelToTable("data.xls", "outgdb.gdb", "Sheet1")Импортирует каждый лист файла Excel в отдельную таблицу базы геоданных.
import os
import xlrd
import openpyxl
import arcpy
def importallsheets(in_excel, out_gdb):
    if in_excel.endswith(".xlsx"):
        workbook = openpyxl.load_workbook(in_excel)
        sheets = workbook.sheetnames
    elif in_excel.endswith(".xls"):
        workbook = xlrd.open_workbook(in_excel)
        sheets = [sheet.name for sheet in workbook.sheets()]
    else:
        print("An Excel Workbook of format .xls or .xlsx is required.")
        return
    print('{} sheets found: {}'.format(len(sheets), ','.join(sheets)))
    for sheet in sheets:
        # The out_table is based on the input Excel file name
        # an underscore (_) separator followed by the sheet name
        out_table = os.path.join(
            out_gdb,
            arcpy.ValidateTableName(
                "{0}_{1}".format(os.path.basename(in_excel), sheet),
                out_gdb))
        print('Converting {} to {}'.format(sheet, out_table))
        # Perform the conversion
        arcpy.conversion.ExcelToTable(in_excel, out_table, sheet)
if __name__ == '__main__':
    importallsheets('c:/data/data.xls',
                    'c:/data/outgdb.gdb')Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да