Eiredrake Ответов: 2

Проверка листов excel


Приветствую всех,

У меня есть странная проблема, и google до сих пор не был так уж полезен.

У меня есть проект, над которым я работаю для своей работы. По сути, я переписываю старый школьный код VB6 на более современный C# (стандартный и т. д.). Я не могу дать слишком много подробностей, но суть моего вопроса такова. Исходный код проглатывает кучу различных файлов excel, импортирует данные и делает с ними что-то.

К сожалению, эти данные заведомо ненадежны. Поля будут отсутствовать или написаны с ошибками. Данные будут недействительными или отсутствующими в отдельных ячейках. Будут включены два или три поля с очень похожими именами (и, естественно, только одно из них является допустимым). Формат также менялся с течением времени, когда добавлялись новые поля или удалялись старые. Обычно никто не дает нам знать заранее.

Это чертовски раздражает, но, к сожалению, сущность, дающая нам входные данные, не собирается в ближайшее время давать нам приличные последовательные данные. Это вызывает много проблем глубоко в коде, когда появляется что-то, что не было запланировано.

Я могу легко читать данные, используя такие технологии, как EPPLUS и Dapper. Но что я хотел бы сделать, так это иметь возможность просмотреть электронную таблицу, прежде чем она попадет в систему, и проверить содержимое электронной таблицы на соответствие тому, что мы ожидаем. Таким образом, если электронная таблица содержит плохие данные, мы можем отказаться от нее и предпочтительно предложить пользователю сообщить, что ему нужно исправить.

По-видимому, для этого потребуется какая-то схема, описывающая, как должны выглядеть данные. Но формы этих документов excel разнообразны. Мне интересно, есть ли какие-нибудь доступные библиотеки, которые уже делают это, поскольку я бы предпочел не создавать свою собственную систему с нуля.

Кто-нибудь делал что-нибудь подобное?

спасибо,
Эйрдрейк

Что я уже пробовал:

EPPLUS и щеголеватый наряду с различными расширениями.

2 Ответов

Рейтинг:
2

Maciej Los

Цитата:
Мне интересно, есть ли какие-нибудь доступные библиотеки, которые уже делают это, поскольку я бы предпочел не создавать свою собственную систему с нуля.


Что ж... вы должны написать свою собственную систему с нуля.


Рейтинг:
1

Gerry Schmitz

Учитывая, что рабочая книга может содержать практически все, я не вижу, как кто-то может придумать "общее" решение, чтобы удовлетворить ваше любопытство относительно "обоснованности" ее содержания.

Лучше вам придумать "стандартную" книгу, которую вы настаиваете, чтобы клиент использовал.

Если это невозможно, тогда вы живете с беспорядком.