cjstress
@cjstress
C#

Какие существуют визуальные обработчики данных?

Есть задача: из эксель-файла нужно достать список пользователей с разными данными в строке.

Каждый пользователь — это строка в эксель-таблице. В столбцах всякие данные (например, имя, некоторые теги, роли и т.д.).

Нужно эти данные забрать из эксель-таблицы и разложить по объектам JSON, эти объекты с помощью ORM потом уедут батчем в таблицы.

Например, у нас есть строка с 10 столбцами, и эта строка будет отображена в итоге как JSON-объекты для 6 таблиц с id и ссылками друг на друга через foreignId.

У меня уже есть код, который это успешно делает, но в нем нет интерфейса. Т.е. это консолька, которую я стартую из IDE и постоянно допиливаю. Есть вариант прикрутить к этому интерфейс с базовыми кнопками. Хочется помотреть, какие варианты существуют.

Какие существуют хорошие визуальные инструменты для гибкой работы с данными, чтобы перегонять из одного формата в другой, объединяя их при этом, валидируя, и объединяя и т.д.?
  • Вопрос задан
  • 111 просмотров
Пригласить эксперта
Ответы на вопрос 3
@rPman
Не нужно делать интерфейс только потому что 'все так делают'.

Исходить нужно исключительно из задачи! Делать нужно ровно столько сколько нужно и не больше не меньше.

p.s. Когда то я работал активно с данными, конечно экселя могло бы быть достаточно но он неудобный и медленный
Обычно нужен для конвертера следующий UI (писался давно, не очень использовался и затерялся):
* Настройка источника данных (у вас это кнопка/поле - место откуда брать excel источник, плюс к примеру имя/номер листа)
Показать начальное содержимое листа при выборе, минимальную статистику (количество строк, колонок и т.п.)
* Список необходимых колонок с указанием, какие колонки чем являются
При выборе колонки источника показывать список вариантов его значений (не обязательно все, первые десятки, но бегло дает представление о значении поля)
* Фильтры (пропустить пустые строки, убрать дубликаты и прочее прочее) - не перебарщивай, очень редко задачи повторяются, все объять невозможно, можно предложить поле для ввода кода (использовать в eval), если источник база данных - можно запилить какой то минимальный конструктор sql (без ui, хотя список таблиц и название колонок в базе уже круто, плюс поиск по подстроке по данным во всех таблицах - удобная вещь когда ковыряешь чужую базу, лучше это делать в специализированных программах, помню пользовался dbforge studio community version)
* настройка назначения вывода данных (имя файла)
* настройка типа данных в файле вывода (выбор из списка захардкоженных в программу, если актуально само собой)

Еще момент - интерфейс должен быть исключительно интерфейсом к консольной программе, генерируя для нее строку/файлы настроек, чтобы можно было их использовать к примеру для автоматических регулярных запусков без запуска интерфейса (я генерирую в таких случаях батник с запуском программы с нужными ключами)
Ответ написан
BasiC2k
@BasiC2k
.NET developer (open to job offers)
Excel сам по себе уже заточен для визуального представления хранимых данных. Для этого есть сводные таблицы, графики и тд
Конечно можно в связке с Excel использовать. Power Query, но он больше заточен на большие массивы данных.
Ответ написан
По-моему, с файлом Экселя можно работать как с источником данных. То есть все трансформации можно тогда производить при помощи обычного SQL. Но это тогда сужает целевую аудиторию пользователей. А сам Эксель и есть визуальный обработчик данных со своими встроенными средствами. Более того, для автоматизации используется VBA.
Нужно понимать, что визуализация - довольно ресурсоемкая в разработке, да и трудно придумать ее для всех случаев жизни.
Но в простых случаях может быть весьма удобной.
Хотите переизобрести свой Access?

Но если очень хочется, то с точки зрения разработки я бы поместил всю логику трансформаций в виде набора DLL, подключаемых как в GUI, так и консольном приложении.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы