Я пытаюсь создать в своем веб-приложении функцию, которая позволяет пользователям копировать, вставлять таблицу с другого веб-сайта, и она будет заполнять таблицу в моем веб-приложении вставленными данными.Я хочу, чтобы он работал так же, как в 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, это не совсем правильно.


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