Я думаю, что лучший способ - амортизировать обнаружение переполнения, например, записывая в пользовательское свойство каждый раз, когда пользователь вводит данные в ячейку.
Таким образом, вы будете использовать подход, аналогичный Lobstrosity
, но вместо первоначального расчета переполнения вы будете вычислять переполнение каждый раз, когда изменяется вход ячейки. Это имеет очевидный недостаток: он не работает для предварительно заполненных ячеек, в этом случае вам придется рассчитывать его для всех заполненных ячеек при запуске программы.
Другой вариант hardcore - исправить размеры ячейки (другими словами, если размеры ячейки известны во время генерации страницы) и рассчитать переполнение при генерации страницы на стороне сервера (если вы используя язык на стороне сервера). Это плохо, но работает.