private void UpdateTargetColumns()
    {
        var targetTable = _optionsControl.TargetTableName.Value;

        if (_databaseSchema.NonTables.Contains(targetTable.ToLower()))
        {
            throw new Exception($"\"{targetTable}\" already exists, but is not a table.");
        }

        if (_optionsControl.IfTableExists.Value == ImportTableExistsOption.DropTable)
        {
            _columnsControl.SetTargetToNewTable();
        }
        else if (_databaseSchema.Tables.TryGetValue(targetTable.ToLower(), out var schema))
        {
            _columnsControl.SetTargetToExistingTable(schema);
        }
        else
        {
            _columnsControl.SetTargetToNewTable();
        }
    }
        public async Task LoadColumns()
        {
            await _columnsLoadControl.DoLoad(async() => {
                var sheetIndex = _sheetMeta.Index;
                var range      = new ColumnHeaderRange(_sheetOptions);

                var columnNames = await Task.Run(() => XlsUtil.ReadColumnNames(
                                                     _filePath, sheetIndex, range.FirstRowNumber, range.FirstColumnLetter, range.LastColumnLetter,
                                                     range.HeaderRow));

                _columnsControl.SetSourceColumns(columnNames);
                _columnsControl.SetTargetToNewTable();
            });
        }