private async void PropGrid_PropertyValueChanged(object s, PropertyValueChangedEventArgs e)
        {
            var newColumnHeaderRange = new ColumnHeaderRange(_sheetOptions);

            if (!newColumnHeaderRange.Equals(_columnHeaderRange))
            {
                await LoadColumns();

                _columnHeaderRange = newColumnHeaderRange;
                ValueChanged?.Invoke(this, EventArgs.Empty);
            }
        }
        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();
            });
        }