Надо отметить, что главная ошибка – использование MS Excel. Я настоятельно не рекомендую использовать Microsoft Excel в качестве программы ввода данных и соответствующие файловые форматы для хранения. MS Excel часто искажает данные, возникают ошибки, неточности, неконтролируемые изменения. Валидация практически невозможна. Именно поэтому ведущие регуляции не принимают данные в этом формате.
Вот тут подробно о том как Excel ломает файлы: Редактируем CSV-файлы, чтобы не сломать данные.
Но если уж так сложилось, что не удалось использовать банальный CSV и все же по какой-то причине используется Excel необходимо соблюдать следующие минимальные требования что бы хоть как-то обеспечить целостность данных.
- Не использовать общий формат. Только “Дата” для дат, “Числовой” для чисел, “Текст” для текста. Если используете “Общий” – будьте готовы, что будет выполняться автоматическое применение формата с искажением данных.
Контролируйте формат ячеек. Формат – это не только отображение в окне, это еще и реальное представление, которое при переносе может отразиться совсем не так, как вы думаете. - Не используйте вычисляемые значения (формулы). Никто не знает будут ли они вычисляться при переносе, а если будут, то неизвестно как.
- Не используйте фильтры и скрытые ячейки.
- Не используйте объединенные ячейки.
Это минимальные требования к файлу. Далее идут требования к данным (это уже не вопрос к Excel, но не менее важный).
- Следите за кодами (названиями) столбцов. Недостаточно назвать “Артериальное давление”, необходимо каждому столбцу присвоить уникальный код. Пример: V1_SAD , BDATE, HRATE. Хорошее правило: начинается с латинской буквы, используются латинские буквы, цифры и знак “_”.
- Составляйте словарь использованных кодов.
- Следите за типом данных: АД это 2 числа. “120/80” – это текст. Необходимо использовать 2 столбца один САД, другой ДАД.
- Используйте числовые коды переменных в значениях. К примеру: Пол – 1 – Мужской, 2 – Женский.
- Составляйте словарь использованных кодов переменных.
- Если используете текстовые коды в значениях, следите за тем, что бы они были одинаковы внутри переменной. К примеру, не следует использовать внутри одного столбца значения: отр, отриц, отрицательно, 0, не обнаружено. Все это будет считаться разными значениями и может привести к ошибкам.
- Изучите что такое нормальные формы. Используйте как минимум вторую нормальную форму.
- Излишняя фрагментация тоже вредна: не следует разбивать базу данных и по файлам(визитам) и по обследованиям(листам) если у вас нет четкой структуры связей.
Это простейшие правила, которые знают специалисты. Повторяюсь, специалист просто не будет использовать Excel.
P.S. может быть кто-нибудь возразит, что возможно приемлемое использование Excel через ODBC, но я такого не видел. Высока вероятность, что такие решения просто не смогут быть использованы никем кроме самих разработчиков.
Софт для работы CSV файлами: