Как определить диапазон строк больше 1 из данных буфера обмена копировать события? - PullRequest
0 голосов
/ 11 июня 2019

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

В настоящее время я разделяю вставленные данные с помощью символа новой строки и символа табуляции.

    const clipboardData = e.clipboardData || e.originalEvent.clipboardData || window.clipboardData;
    const pastedData = clipboardData.getData("text");
    const pastedTable = [];
    pastedData.split("\n").forEach((rowStr) => {
      const rowArr = rowStr.split("\t");
      pastedTable.push(rowArr);
    });

Когда все ячейки на сайте имеют размер строки = 1, это работает нормально, заполняя каждую ячейку в двумерный массив (строки х столбцы).Однако, если есть ячейки с размахом строк> 1, это не совсем правильно.

Example

enter image description here

TLDR , я хочу знать, есть ли какой-нибудь разделитель, который позволяет мне обнаруживать ячейку с размахом строк> 1. Когда я копирую эту таблицу и вставляю ее в Excel, ячейки Excel были заполнены правильно,Ячейки с текстом «Первая половина» и «Вторая половина» также были объединены соответствующим образом.Если Excel смог обнаружить ячейку с размером строки> 1, я предполагаю, что должен быть способ обнаружить это по данным буфера обмена из события вставки?

Любой совет с благодарностью.Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...