Преобразуйте (сильно загруженную формулами) электронную таблицу Excel в удобный веб-калькулятор

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


person Jen    schedule 16.06.2011    source источник
comment
Честно говоря, лучше всего попробовать использовать таблицы Google или просто встроить их. Динамическое воспроизведение вывода Excel с помощью формул JavaScript кажется чрезвычайно сложным — примерно таким же сложным, как создание Excel. Встраивание живых электронных таблиц также не следует осуждать, поскольку я уверен, что пользователи не возражают против перехода на IE для конкретной задачи, подобной этой (если только вас не беспокоит кросс-ОС), и у большинства есть что-то вроде IE Tab. установлены.   -  person brymck    schedule 16.06.2011
comment
что ты делаешь со всем этим? Если вы хотите сослаться на данные позже, в этой ситуации имеет смысл использовать базу данных. Вы можете довольно легко использовать формы для создания отчетов и файлов Excel, используя то, что вы упомянули, а база данных позволит вам создавать динамические отчеты для Excel, если вы хотите выйти за рамки одноразового вывода Excel.   -  person datatoo    schedule 16.06.2011
comment
@datatoo: Да, мне бы хотелось, чтобы пользователь мог загружать и сохранять результаты в файле Excel, а затем иметь возможность сравнивать различные результаты, используя разные входные данные. Однако эти результаты будут только для целей пользователя; Мне не нужно, чтобы они спасались или что-то в этом роде. Вы все еще рекомендуете базу данных? Если да, извините за нуб, но как мне начать с этого?   -  person Jen    schedule 16.06.2011
comment
похоже, вы хотите иметь возможность генерировать несколько результатов на основе разных входных данных. Вы хотите предложить все результаты на одном листе для сравнения или на нескольких листах для их сравнения и использования? Приемлемы ли статические результаты или вам нужны формулы? Было бы приемлемо генерировать на экране то, что они хотят, и загружать результат. Должен ли он быть Excel на стороне пользователя для любого дальнейшего ввода данных или просто для простого просмотра позже? Насколько велики выводимые данные? десятки, сотни, тысячи строк? База данных может не понадобиться, но будет обрабатывать вычисления   -  person datatoo    schedule 17.06.2011
comment
Окончательный вывод, в конечном счете, составляет около 40 значений, но есть куча промежуточных значений на разных листах, которые пользователю также было бы неплохо увидеть. Я думал, что формулы будут доступны в Excel; в противном случае они появлялись бы при наведении указателя мыши. Кроме того, я не знаю, насколько это сложно, но есть 6 прототипов, сгенерированных рабочей книгой. Я бы хотел, чтобы пользователь мог смешивать и сопоставлять их, используя разные проценты выходных значений. Было бы здорово иметь одну загружаемую книгу для каждого заполнения формы. Большое спасибо за ваше время!   -  person Jen    schedule 17.06.2011
comment
Будет ли необходима база данных для создания файла Excel с включенными формулами?   -  person Jen    schedule 17.06.2011


Ответы (2)


Для этого вам понадобится больше, чем javascript. Несмотря на скептиков веб-гуру, у меня все получилось. Вам нужны IIS и Excel на сервере. Люди зацикливаются на 2-м требовании, но приходится пользоваться тем, что есть. SpreadSheet Gear является альтернативой.

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

Прелесть этой настройки в том, что вы можете запустить пакет через электронную таблицу калькулятора.

person Robert Co    schedule 27.09.2012

Вы можете использовать Formula.js, который представляет собой реализацию JavaScript функций формул Excel.

person Ismael Ghalimi    schedule 04.01.2013