Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.03.2017, 16:57
Аспирант
Отправить личное сообщение для CraftLawrence Посмотреть профиль Найти все сообщения от CraftLawrence
 
Регистрация: 22.11.2014
Сообщений: 44

Копирование таблицы из Excel в браузер
Добрый день.
Идет разработка веб-сайта, в админке которого оператору нужно очень много работать с переносом данных с екселя в БД сайта. Хочу сделать так, чтобы в екселе выделялась таблица с ячейки n по ячейку m (двухмерная), ctrl+c, затем в браузере выделялось место, ctrl+v.
Это реально? Если да, то куда копать? Нагуглить не выходит.

Кратко: можно ли производить разбор буффера обмена, в котором находится таблица из excel?

p.s. Нет, импорт файла не вариант, данные не стандартизированы, рваны.
Ответить с цитированием
  #2 (permalink)  
Старый 16.03.2017, 19:13
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

CraftLawrence,
Копипасте фрагмент из excel и Разобрать
<textarea rows="10" cols="100" id="text"></textarea>
 <button onclick= "parceArea()">Разобрать</button>
 <script>
       function parceArea() {
           var content = text.value;
           var arr = content.split('\n');
           for(var i = 0; i<arr.length;i++) {
               arr[i] = arr[i].split('\t');
           }
           alert(JSON.stringify(arr));
       }
 </script>
Ответить с цитированием
  #3 (permalink)  
Старый 16.03.2017, 20:30
Аспирант
Отправить личное сообщение для CraftLawrence Посмотреть профиль Найти все сообщения от CraftLawrence
 
Регистрация: 22.11.2014
Сообщений: 44

Сообщение от Dilettante_Pro Посмотреть сообщение
CraftLawrence,
Копипасте фрагмент из excel и Разобрать
<textarea rows="10" cols="100" id="text"></textarea>
 <button onclick= "parceArea()">Разобрать</button>
 <script>
       function parceArea() {
           var content = text.value;
           var arr = content.split('\n');
           for(var i = 0; i<arr.length;i++) {
               arr[i] = arr[i].split('\t');
           }
           alert(JSON.stringify(arr));
       }
 </script>
Ухты, я примерно так же сейчас сижу колупаю! Но есть проблема. В некоторых ячейках много строк, и в итоге ех внутренность при копировании выглядит так:
Код:
"Ряд1
Ряд 2
Ряд 3
Ряд 4"
и соответственно сплит по "\n" создает лишние "ячейки". Не могу перебороть.

Сейчас идея состоит в том, чтобы до сплитования заменить все переносы строки в кавычках на "<newline>", а после разбивки сделать обратно, но не могу сварганить регулярное выражение.

Помогите пожалуйста собрать регулярку! Чтобы из
Код:
"Ряд1
Ряд 2
Ряд 3
Ряд 4"
делало
Код:
"Ряд1<newline>Ряд 2<newline>Ряд 3<newline>Ряд 4"
Ответить с цитированием
  #4 (permalink)  
Старый 16.03.2017, 21:41
Аспирант
Отправить личное сообщение для CraftLawrence Посмотреть профиль Найти все сообщения от CraftLawrence
 
Регистрация: 22.11.2014
Сообщений: 44

Решение было дано в другой теме.

Сообщение от рони Посмотреть сообщение
CraftLawrence,
<textarea id="test" rows="7" cols="70">Ряд 1
Ряд 2
"Ряд 3
Ряд 4
Ряд 5
Ряд 6"
Ряд 7
Ряд 8</textarea>
<script>
      test.value = test.value.replace(/("[^"]+")/gim, function(a) {
   return a.split(/\n\r?/).join('<newline>')
});
  </script>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
почему не обрабатываются события в динамически добавленых строках таблицы boris2000 Events/DOM/Window 2 10.11.2016 14:04
Export таблицы в Excel файл Ahmadjon Элементы интерфейса 6 08.11.2014 11:05
Выделение области таблицы и копирование demi ExtJS 2 19.10.2014 20:12
копирование текста из ячейки таблицы в textarea racoon Общие вопросы Javascript 5 22.07.2013 22:17
Передача динамической таблицы в Excel j.r.r Общие вопросы Javascript 5 30.06.2013 22:26