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(); }); }