Включение скрытых данных в HTML-страницу для обработки javascript

Я создаю сложный сводный отчет в формате HTML на основе данных в базе данных, который может быть сводкой, возможно, из 200 000 строк в базе данных. Пользователь может щелкнуть ссылку, чтобы запросить версию Excel.

Когда они это делают, сценарий JS извлекает ключевые компоненты отчета и помещает их в форму в скрытом iframe. Эта форма передается в серверный скрипт, который генерирует версию отчета в формате Excel (без графики и т. Д.).

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

Я делаю это следующим образом для каждого компонент отчета, который переносится в строку в версии Excel. Я украл HTML-тег, который иначе не используется.

   <code id="xl_row_211865_2_x" class="rowlabel">Musicals}{40%}{28.6%}{6</code>

Приведенный выше элемент кода представляет собой сводку строки ниже в отчете HTML, которая становится одной строкой в ​​документе Excel и включает метку и различные элементы данных. Таких элементов может быть тысяча и более в одном отчете.

alt text

Поскольку данные содержат текст, мне пришлось использовать что-то вроде } { в качестве разделителя полей, так как это вряд ли встретится в любом реальном тексте отчета. У меня установлен код для отображения: нет в CSS.

Когда пользователю нужна версия отчета в Excel, код JS ищет в HTML любые элементы и помещает их className и innerHTML в форму. ClassName указывает, как форматировать строку в Excel, и данные затем помещаются в соседние ячейки в строке Excel.

Есть ли способ сделать управление страницей многострочным или сдвинуть его влево или вправо в момент, когда текущая видимая страница исчезает с экрана.

8
задан chris 10 December 2016 в 20:06
поделиться