2010-06-08 1 views
0

У меня есть веб-страница, в которой есть требование разрешить пользователям вставлять большие объемы текстовых данных из электронной таблицы Excel непосредственно во входные элементы управления страницы. Обычно пользователь будет вставлять от 150 до 300 таблиц электронной таблицы, которые находятся в одной колонке.Ввод большого количества текстовых данных в формате HTML

Какие хорошие способы я могу использовать для захвата этих данных на веб-странице?

благодаря

ответ

1

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

+0

У вас возникли проблемы с использованием этого метода при вставке больших объемов данных? – MakkyNZ

+0

В основном клиентская производительность ограничена. Я протестировал этот метод на довольно недавней машине, использующей хром, и смог получить 20 столбцов данных с 8000 нечетными строками, прежде чем он начал действительно демонстрировать большую часть проблемы с производительностью. Существует также предел размеров данных для публикации, которые вы в конечном итоге запускаете, но для одного столбца данных он должен работать до уровня не менее 1000 строк в любом браузере. –

1

Таким образом, вы рискуете потерять форматирование и разделение ячеек, и, скорее всего, вы получите кучу непревзойденных данных. Я бы предпочел добавить поле для загрузки файлов, чтобы пользователь мог просматривать и загружать Excel или даже CSV-файл. В коде на стороне сервера вам необходимо прочитать и проанализировать загруженный файл Excel или CSV в используемые элементы данных/переменные/объекты, а затем обработать их так, как вы хотите, например. сохранение в базе данных и/или повторное отображение в таблице HTML.

Непонятно, какой язык/рамки программирования на стороне сервера вы используете, но, основываясь на истории вопроса, я думаю, что это ASP.NET, поэтому here - это некоторые подсказки, как вы могли бы справиться с этим на стороне сервера ,


Update согласно комментарий:

проблема заключается в электронных таблиц поступают из различных источников и не имеют стандартный формат, что было бы невозможно разобрать

Ну, ваш лучший выбор заключается в том, чтобы иметь большой <textarea> и угадать формат ячейки, основанный на наличии разрывов строк (\n) a nd tabs (\t) и тому подобное. Однако имейте в виду, что формат может зависеть от версии Excel и используемого webbrowser/версии. В некоторых случаях это может оказаться в формате HTML! Вы можете просто показать сообщение об ошибке, когда формат не поддается определению.

Возможны ли проблемы, связанные с большими данными, зависит от используемого клиента и сервера. Некоторые клиенты могут задыхаться, когда данные переходят в мегабайты, особенно MSIE. Серверы могут ошибаться, когда представленные данные превышают определенный предел, который, однако, довольно высок, подумайте о гигабайте или двух, которые, однако, должны быть настроены в настройках сервера. Вы должны каким-либо образом использовать метод HTTP POST, поскольку данные, которые вы можете отправить в querystring GET, ограничены между 255 и 8 Кбайтами в зависимости от используемого клиента.

+0

Проблема заключается в том, что электронные таблицы поступают из разных источников и не имеют стандартного формата, поэтому было бы невозможно разобрать – MakkyNZ

Смежные вопросы