Для части веб-приложения пользователю необходимо импортировать некоторые данные из электронной таблицы. Например, список имен и адресов электронной почты. В настоящее время мы делаем это, прося пользователя найти и загрузить файл CSV.
К сожалению, это не всегда возможно, поскольку различные корпоративные ИТ-системы позволяют пользователям получать доступ к файлам только из систем управления документами, и у них нет привилегий сохранять их на локальном диске или в общей сетевой папке.
Решение, которое мы имеем, состоит в том, чтобы позволить пользователю вырезать и вставить весь лист (CSV) в текстовую область и отправить его. Сделав это, вы получите хороший разделенный табуляцией список данных, который легко анализируется, как показано ниже.
Lorem ipsum dolor sit amet
consectetur adipiscing elit Vivamus fermentum
Vivamus et diam eu eros
egestas rutrum Morbi id neque
id enim molestie tincidunt Nullam
К сожалению, различные клетки могут давать неожиданные результаты. В приведенном ниже наборе вы можете увидеть "внутри слова prerium", вкладку со словом Suspendisse и разрыв строки внутри слова sollicitudin.
bibendum ante molestie lectus Sed
pret"ium "Susp endisse" "sollic
itudin" nisi at
urna Sed sit amet odio
eu neque egestas tincidunt Nunc
metus Curabitur at nibh Nulla
В этом случае я не могу просто разделить табуляцию и разрывы строк без более совершенного механизма для обработки вкладок, цитат и разрывов строк в реальных данных.
Кто-нибудь знает какой-нибудь код, который может справиться с этим надежно? Или даже если можно использовать Excel и подобный буфер обмена для получения стабильных результатов?
Я работаю в Asp.net 3.5, используя C #.
Версия Excel для пользователей может отличаться, но всегда должна быть Windows 2000 / XP / Vista и IE 6/7.