Есть несколько предложений здесь:
Чтение файла CSV в .NET?
Из них мы решили использовать Linq2CSV в наших проектах MVC.
http://www.codeproject.com/KB/linq/LINQtoCSV.aspx
Он довольно прост в использовании, и проверка хороша. Вы определяете простой класс, который определяет структуру (столбцы) файла CSV. Он выполнит базовую проверку, и если она прошла, мы отправили его через Validator, который использовал атрибуты DataAnnotation для проверки на соответствие более сложным правилам. Мы нашли его надежным, и мы смогли добавить некоторые функции, которые мы хотели.
Если бы файл был патологически плохим, мы бы потерпели неудачу и представили бы одно сообщение об ошибке Если файл был достаточно надежным, мы отображали строки с ошибками вместе с сообщениями об ошибках для этой строки, чтобы они могли увидеть проблему в контексте. В нашем случае это была только сетка отображения - мы не разрешали редактирование через веб-сайт - потому что CSV генерировались из их системы данных, и нам нужны были они для редактирования исходных данных в их системе и регенерации CSV. Чтобы выполнить редактирование на месте, вам нужно разместить все значения столбцов как строки, чтобы они могли фиксировать числа, которые не анализируются и т. Д.