Включение скрытых данных в 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

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

Когда пользователю нужна версия отчета в формате Excel, код JS ищет в HTML любые элементы и помещает их className и innerHTML в форму. ДОБАВЛЕНО: я не могу использовать HTML5, так как пользователи часто работают с корпорациями в старых браузерах, таких как IE6

18
задан Brian Tompsett - 汤莱恩 15 November 2015 в 23:16
поделиться